PureMvc学习笔记
2019獨角獸企業重金招聘Python工程師標準>>>
PureMvc學習筆記:
Mediator
->對應View層,內部綁定View對象,由 Mediator 對象來操作具體的視圖組件。(它的作用還包括:添加事件監聽器,發送或接收 Notification,直接改變視圖組件的狀態。通過這樣,就可以把視圖和控制它的邏輯分離開來。)
if (notification.getName().equals(CMDConstants.NOTI_LOGIN_FAILED)) {
System.out.println("view更新,登陸失敗");
} else if (notification.getName().equals(CMDConstants.NOTI_LOGIN_SUCCESS)) {
System.out.println("view更新,登陸成功");
} else {
loginView.clickLoginButton(this);
}
Proxy
->負責操作數據模型,與遠程服務通信存取數據
內部可封裝一些處理數據或者驗證數據的方法。
通過發送Notification,通知Mediator更新界面。
Command
->只在需要時才被創建。Command 可以獲取 Proxy 對象并與之交互,發送 Notification,執行其他的 Command。經常用于復雜的或系統范圍的操作,如應用程序的“啟動”和“關閉”。應用程序的業務邏輯應該在這里實現。
在View層,用戶某個操作需要更新界面,此時可通過sendNotification(CMDConstants.CMD_LOGIN);執行某個指令。
在指令中,可以獲取已經注冊Proxy進行相應的操作。同時也可以在指令中發送通知給View層進行更新界面。
構建過程:
新建自己的MyFacade繼承自Facade。重寫相關初始化方法:
initializeController
initializeModel
initializeView
自行注冊對應的對象。
自行設定啟動指令類,通過MyFacade發送通知來執行。
針對View新建對于的Mediator。
個人總結:
Commond和Modiator都可以接收Notification,而且發送的方法都是sendNotification。這個地方個人覺得應該區分開來。容易混淆。準備在其源碼上重新優化下,后期放出修改后的代碼。
參考文章:
http://blog.csdn.net/sutaizi/article/details/6588004
http://www.ibm.com/developerworks/cn/java/j-lo-puremvc/
轉載于:https://my.oschina.net/oahcfly/blog/470289
總結
以上是生活随笔為你收集整理的PureMvc学习笔记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 梦到前妻预示什么
- 下一篇: C/C++与内存相关的函数