<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-348  評論-598  文章-0  trackbacks-0

    如果把這三者放在一起比較,先說一下三者的共同點,也就是Model和View:

    • Model:數據對象,同時,提供本應用外部對應用程序數據的操作的接口,也可能在數據變化時發出變更通知。Model不依賴于View的實現,只要外部程序調用Model的接口就能夠實現對數據的增刪改查。

    • View:UI層,提供對最終用戶的交互操作功能,包括UI展現代碼及一些相關的界面邏輯代碼。

    三者的差異在于如何粘合View和Model,實現用戶的交互操作以及變更通知

    • Controller

    Controller接收View的操作事件,根據事件不同,或者調用Model的接口進行數據操作,或者進行View的跳轉,從而也意味著一個Controller可以對應多個View。Controller對View的實現不太關心,只會被動地接收,Model的數據變更不通過Controller直接通知View,通常View采用觀察者模式監聽Model的變化。

    • Presenter

    Presenter與Controller一樣,接收View的命令,對Model進行操作;與Controller不同的是Presenter會反作用于View,Model的變更通知首先被Presenter獲得,然后Presenter再去更新View。一個Presenter只對應于一個View。根據Presenter和View對邏輯代碼分擔的程度不同,這種模式又有兩種情況:Passive View和Supervisor Controller。

    • ViewModel

    注意這里的“Model”指的是View的Model,跟MVVM中的一個Model不是一回事。所謂View的Model就是包含View的一些數據屬性和操作的這么一個東東,這種模式的關鍵技術就是數據綁定(data binding),View的變化會直接影響ViewModel,ViewModel的變化或者內容也會直接體現在View上。這種模式實際上是框架替應用開發者做了一些工作,開發者只需要較少的代碼就能實現比較復雜的交互。



    ---------------------------------------------------------
    專注移動開發

    Android, Windows Mobile, iPhone, J2ME, BlackBerry, Symbian
    posted on 2017-05-10 11:03 TiGERTiAN 閱讀(428) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲麻豆精品果冻传媒| 亚洲Av综合色区无码专区桃色 | 中文字幕视频免费在线观看| 9i9精品国产免费久久| 一级毛片视频免费观看| 亚洲va中文字幕无码| 黄色片网站在线免费观看| 国产高清免费观看| 亚洲欧美成人av在线观看| 亚洲免费综合色在线视频| 亚洲手机中文字幕| 一本无码人妻在中文字幕免费| 色老头永久免费网站| 亚洲国色天香视频| 亚洲av无码成人精品区在线播放 | 亚洲国产成人手机在线观看| jzzijzzij在线观看亚洲熟妇| 日韩av无码免费播放| 免费大片黄手机在线观看| 无码av免费一区二区三区| 无遮挡a级毛片免费看| 亚洲综合色一区二区三区| 亚洲国产精品久久人人爱| 亚洲黄色在线播放| 亚洲第一AV网站| ass亚洲**毛茸茸pics| 中文字幕成人免费高清在线| 91av免费观看| 免费特级黄毛片在线成人观看| 亚洲成a人片7777| 在线免费观看亚洲| 午夜小视频免费观看| 久久久久亚洲精品无码网址色欲| 国产尤物在线视精品在亚洲| 亚洲国产成人精品91久久久| 九九精品成人免费国产片| 91亚洲自偷在线观看国产馆| 在线永久免费观看黄网站| 黄色一级免费网站| 亚洲成人动漫在线| 在线观着免费观看国产黄|