PureMvc学习笔记
2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
PureMvc學(xué)習(xí)筆記:
Mediator
->對(duì)應(yīng)View層,內(nèi)部綁定View對(duì)象,由 Mediator 對(duì)象來操作具體的視圖組件。(它的作用還包括:添加事件監(jiān)聽器,發(fā)送或接收 Notification,直接改變視圖組件的狀態(tài)。通過這樣,就可以把視圖和控制它的邏輯分離開來。)
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
->負(fù)責(zé)操作數(shù)據(jù)模型,與遠(yuǎn)程服務(wù)通信存取數(shù)據(jù)
內(nèi)部可封裝一些處理數(shù)據(jù)或者驗(yàn)證數(shù)據(jù)的方法。
通過發(fā)送Notification,通知Mediator更新界面。
Command
->只在需要時(shí)才被創(chuàng)建。Command 可以獲取 Proxy 對(duì)象并與之交互,發(fā)送 Notification,執(zhí)行其他的 Command。經(jīng)常用于復(fù)雜的或系統(tǒng)范圍的操作,如應(yīng)用程序的“啟動(dòng)”和“關(guān)閉”。應(yīng)用程序的業(yè)務(wù)邏輯應(yīng)該在這里實(shí)現(xiàn)。
在View層,用戶某個(gè)操作需要更新界面,此時(shí)可通過sendNotification(CMDConstants.CMD_LOGIN);執(zhí)行某個(gè)指令。
在指令中,可以獲取已經(jīng)注冊(cè)Proxy進(jìn)行相應(yīng)的操作。同時(shí)也可以在指令中發(fā)送通知給View層進(jìn)行更新界面。
構(gòu)建過程:
新建自己的MyFacade繼承自Facade。重寫相關(guān)初始化方法:
initializeController
initializeModel
initializeView
自行注冊(cè)對(duì)應(yīng)的對(duì)象。
自行設(shè)定啟動(dòng)指令類,通過MyFacade發(fā)送通知來執(zhí)行。
針對(duì)View新建對(duì)于的Mediator。
個(gè)人總結(jié):
Commond和Modiator都可以接收Notification,而且發(fā)送的方法都是sendNotification。這個(gè)地方個(gè)人覺得應(yīng)該區(qū)分開來。容易混淆。準(zhǔn)備在其源碼上重新優(yōu)化下,后期放出修改后的代碼。
參考文章:
http://blog.csdn.net/sutaizi/article/details/6588004
http://www.ibm.com/developerworks/cn/java/j-lo-puremvc/
轉(zhuǎn)載于:https://my.oschina.net/oahcfly/blog/470289
總結(jié)
以上是生活随笔為你收集整理的PureMvc学习笔记的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 梦到前妻预示什么
- 下一篇: 经常梦到前男友是怎么回事