日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

[转载]MVP(SC),MVP(PV),PM,MVVM 和 MVC 表现模式架构对比

發布時間:2023/12/20 c/c++ 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [转载]MVP(SC),MVP(PV),PM,MVVM 和 MVC 表现模式架构对比 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

原文鏈接:http://tech.ddvip.com/2010-03/1269414998148153.html(為自己方便,也為大家方便!)

翻譯 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) : 用戶界面通常需要和業務組件協作,因此用戶界面需要在界面元素與業務對象之間同步數據,如果用戶界面包含的同步任務越多,則用戶界面越復雜。

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

  表現設計模式 (Presentation Design Pattern)

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

  查看原圖(大圖)

  有用的縮寫

縮寫完整形式
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. )

  表現類關注視圖

  視圖不關注表現類

  視圖通過數據綁定和業務模型進行關聯

  被動視圖模式 (PV)

  狀態在視圖中保存

  所有的界面邏輯都被包含在表現類中

  視圖和業務模型完全獨立,這種情況下需要一些在業務模型和視圖之間進行同步數據的工作

  表現類關注視圖

  視圖不關注表現類

  表現模型 (PM)

  表現類包含邏輯

  表現類包含狀態

  表現類代表抽象的用戶界面

  表現類不關注用戶界面

  視圖關注表現類

  視圖與業務模型完全隔離

MVVM

  繼承自表現模型

  使用 WPF 以及 Silverlight 的綁定機制

  MVC

  沒有表現類,有控制器 (Controller)

  請求首先到達控制器

  控制器負責綁定視圖與業務模型

  邏輯存在于控制器中

  總結與對比

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

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

?

  再來一個圖的對比

轉載于:https://www.cnblogs.com/SanMaoSpace/archive/2012/05/26/2519575.html

總結

以上是生活随笔為你收集整理的[转载]MVP(SC),MVP(PV),PM,MVVM 和 MVC 表现模式架构对比的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。