我已經用GWT構建了一個相對較大的應用程序,並且我遵循了Google的最佳實踐,並且我看到了YES,它可以工作。通常,GWT人告訴我們MVP。
MVP將應用程序分解爲可幫助您管理整個應用程序開發的peices。
通常情況下,當您使用的MVP,你的應用程序將包括將包含入口點:
public class Contacts implements EntryPoint {
public void onModuleLoad() {
ContactsServiceAsync rpcService = GWT.create(ContactsService.class);
HandlerManager eventBus = new HandlerManager(null);
AppController appViewer = new AppController(rpcService, eventBus);
appViewer.go(RootPanel.get());
}
}
正如你看到的,它創建客戶端RPC,通知事件eventbus,在ApplicationController的這是根,並控制應用程序中的所有內容,例如更改視圖,註冊事件
應用程序控制器還實現ValueChangeHandler<String>
以允許它聽到歷史記錄何時更改並基於此採取措施,如更改視圖。 那麼你就必須:
- 模型
- 查看
- 主持人
該模型可共享您的服務器。演示者聲明視圖實現的接口。然後,演示者和視圖通過界面進行通話,演示者和服務器通過您在入口點聲明的rpcService
進行對話並注入應用程序控制器。另外,如果以這種方式實現您的應用程序,您將受益匪淺,因爲當您使用JUNIT進行測試時,您只能測試演示者並因此繞過視圖。因爲如果您在視圖中包含視圖,它會需要很多時間。該視圖將宣佈小部件,但主持人可以導入視圖中的接口,用於
最後與小部件交互,應用層次將如下:
--com.example.name.clients:
--AppController --name.java
--name.Service.java
--name.ServiceAsync.java
--com.example.name.events:
--com.example.name.presenters:
--com.example.name.views:
--com.example.name.models:
--com.example .name.server:
--com.example.name.shared:
有更多信息一看here,
嗨,這不是我的問題。我知道MVP的優點等...我只想知道,如何組織我的文件,因爲我有一個管理員和一個網站,它就像2個小應用程序,所以,公司裏的專業人員如何組織一個這樣的項目?我想知道他們把他們的管理文件放在哪裏等等。例如,你給我的鏈接只是一個MVP應用程序的例子,它不使用管理員端,所以它不好。但是,謝謝你的幫助。 – nzaero