<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      [翻譯]MVP(SC),MVP(PV),PM,MVVM 和 MVC 表現模式架構對比

      翻譯 CodeProject 上的一篇文章,對常見的幾種表現模式 (Presentation patterns) 進行了說明,并進行對比。原文地址是http://www.codeproject.com/KB/aspnet/ArchitectureComparison.aspx

      表現模式 (Presentation patterns) 背景

      與用戶界面 (UI) 相關的最大的問題就是大量的凌亂的代碼,主要是由這兩個因素造成的,首先是用戶界面包含負責的邏輯用于維護界面相關對象,其次也包含了應用程序狀態的維護。表現模式 (Presentation patterns) 就是圍繞如何移除用戶界面的復雜性,讓界面更加簡潔和可管理而產生的,下圖就是常見表現模式的種類與分類:表現模式的種類與分類

      用戶界面的3大問題:狀態 (State) , 邏輯 (Logic) ,同步 (Synchronization)

      • 狀態 (State) : 狀態是用戶界面最關心的問題之一。狀態是用戶界面數據的當前快照,在 Web 應用中,可能是 Session 級別的一個變量,在 Windows 應用中, 則可能只是界面級別的數據。 用戶界面包含的狀態越多, 則用戶界面越復雜。
      • 邏輯 (Logic) : 用戶界面往往包含界面邏輯,例如維護文本框、組合框或者其它任何界面元素,用戶界面中這種邏輯越多,則用戶界面越復雜。
      • 同步 (Synchronization) : 用戶界面通常需要和業務組件協作,因此用戶界面需要在界面元素與業務對象之間同步數據,如果用戶界面包含的同步任務越多,則用戶界面越復雜。

      這三大問題與用戶界面的關系如下圖:

      3Bigproblems

      表現設計模式 (Presentation Design Pattern)

      表現設計模式有助于解決上面列出的問題, 它的的基本邏輯就是創建一個額外的表現類 (Presenter) ,用來消化用戶界面中復雜的邏輯,數據和同步的問題,從而使得用戶界面變得簡單明了。根據這個類承擔責任的多少,決定了表現設計模式的類型,可能是 SC , PV , PM 等,也就是說,這個類的成熟度決定了它將是那種設計模式。

      PresenterHowMuch

      有用的縮寫

      縮寫 完整形式
      V 視圖 (View) 或者用戶界面 (UI)
      P 包含界面邏輯的表現類 (Presenter class which has the UI logic.)
      L 用戶界面邏輯
      S 用戶界面的狀態
      M 業務組件或業務對象
      SC 監視控制器 (Supervising controller)
      PV 被動視圖 (Passive view)
      PM 表現模型 (Passive view)

      監視控制器模式 (SC)

      • 狀態在視圖中保存
      • 表現類擁有復雜的表現邏輯,只關注簡單的界面綁定邏輯,例如 WPF 或 Silverlight 等提供的綁定機制 (Presenter owns the complex presentation logic. Simple UI binding logic is taken care by using binding technologies like WPF binding and Silverlight binding. Anything complex is taken care presenter class. )
      • 表現類關注視圖
      • 視圖不關注表現類
      • 視圖通過數據綁定和業務模型進行關聯

      SC

      被動視圖模式 (PV)

      • 狀態在視圖中保存
      • 所有的界面邏輯都被包含在表現類中
      • 視圖和業務模型完全獨立,這種情況下需要一些在業務模型和視圖之間進行同步數據的工作
      • 表現類關注視圖
      • 視圖不關注表現類

      PV

      表現模型 (PM)

      • 表現類包含邏輯
      • 表現類包含狀態
      • 表現類代表抽象的用戶界面
      • 表現類不關注用戶界面
      • 視圖關注表現類
      • 視圖與業務模型完全隔離

      PM

      MVVM

      • 繼承自表現模型
      • 使用 WPF 以及 Silverlight 的綁定機制

      MVVM

      MVC

      • 沒有表現類,有控制器 (Controller)
      • 請求首先到達控制器
      • 控制器負責綁定視圖與業務模型
      • 邏輯存在于控制器中

      MVC

      總結與對比

      下表是這幾種表現模式從狀態,邏輯與同步的角度進行的對比

          狀態 邏輯 同步
      Supervising controller        
        表現類   X X
        視圖 X    
        業務模型 視圖和業務模型之間通過綁定進行連接。
      Passive View        
        表現類   X X
        視圖 X    
      Presenter model        
        表現類 X X
        視圖   X
      MVVM        
        表現類 X X
        視圖 X
        使用 WPF 、Silverlight 的數據綁定機制
      MVC        
        控制器   X X
        視圖 X    

      再來一個圖的對比

      theBiggerPicture

      posted @ 2010-03-20 23:04  張志敏  閱讀(4409)  評論(6)    收藏  舉報
      主站蜘蛛池模板: 日韩黄色av一区二区三区 | 国偷自产av一区二区三区| 免费无码黄十八禁网站| 亚洲无av码一区二区三区| 国产在线一区二区在线视频| 丰满少妇被猛烈进出69影院| 亚洲中文久久久精品无码| 久久久国产成人一区二区 | 国内揄拍国内精品少妇 | 亚洲国产成人久久一区久久| 国产精品乱码久久久久久小说| 亚洲国产av一区二区| 欧美成人精品三级网站| 国产乱久久亚洲国产精品| 国产麻豆精品一区一区三区 | 免费人妻无码不卡中文字幕18禁| 亚欧成人精品一区二区乱| 欧美大屁股喷潮水xxxx| 国产三级精品福利久久| 潘金莲高清dvd碟片| 国产成人午夜福利院| 国产精品亚洲二区在线播放 | 久久久无码一区二区三区| 久久人妻国产精品| 亚洲精品国模一区二区| 佛坪县| 亚洲国产成人久久77| 久久精品国产热久久精品国产亚洲| 免费观看日本污污ww网站69| 亚洲中文精品一区二区| 不卡一区二区国产精品| 国产香蕉久久精品综合网| 人妻色综合网站| 亚洲夜色噜噜av在线观看| 最近高清中文在线字幕在线观看 | 亚洲精品日韩中文字幕| 午夜福利偷拍国语对白| 亚洲国产初高中生女av| 这里只有精品免费视频 | 最新中文字幕av无码专区不| 视频一区二区三区中文字幕狠狠|