2012-09-26 40 views
1

我正在使用部署到GAE的GWTP(Model-View-Presenter)開發GWT應用程序。持久性將使用Google Cloud SQL完成。GWT RequestFactory與GWTP操作

我不知道用什麼來發送數據到數據庫(持久性)和請求數據:GWT RequestFactory或GWTP操作。它們是否相同?這種情況下每種方法有哪些好處?

感謝

回答

1

對於面向數據的應用程序(CRUD),你一定要使用RF,因爲它被設計用於這一目的。現在,如果您的應用程序更加面向操作且這些操作不涉及太多數據,則最好使用Command模式。但是沒有什麼能夠阻止你在你的應用中使用它們。

1

僅限於RequestFactory。

你需要的一切都在那裏。如果你只是想發送一個基本的消息,你只需要調用一個你想要的任何參數的方法。

問題的措施是,他們很多比RF語義詳細...

只有你不與RF得到的就是用ClientHandlers的能力...

3

我不會現在不需要請求工廠。即使對於CRUD,我們也比GWTP操作複雜得多。

RF是一個偉大而強大的工具,但它有點過於設計,而且處理複雜數據對於所有最終會遇到的「凍結」狀態問題來說都非常困難。在嵌套結構中使用編輯器時出現真正的問題。保存第二級代理甚至更多第三級時,您將遇到問題。使用嵌套結構的編輯器使用SimpleBeanEditorDriver更容易,因爲您不必處理每個嵌套對象級別的討厭凍結狀態。

對於一個簡單的CRUD支持的對象圖,RF是完美的,但只要你去更復雜的結構,振作起來,它將不容易處理。一旦你成爲RF專家,它就成爲一個非常強大的工具,但它仍然需要比GWTP Actions更多的工作來完成同樣的事情。

對於使用RF的服務器端安全性,我使用了AoP。另一方面,您可以使用動作處理程序,但即使通過使用動作處理程序,也可能出現某些服務調用上的AoP更合適的情況。

對於客戶端批處理和緩存...這是真正難以用RF實現的東西。文檔不清楚,處理緩存內的凍結狀態是一場噩夢。使用GWTP-Action,您可以使用一個簡單的緩存實現。