首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> 關於ASP.NET

MVC、MVP 與 Model2 架構模式探討 (上)

     編輯:關於ASP.NET

早期 UI 應用傾向將呈現、交互、業務邏輯糅合在「自治視圖」中,導致重用性差、穩定性低、難以測試。關注點分離 (SoC) 原則催生了 MVC 模式。

自治視圖的問題

  • 業務邏輯與 UI 綁定,無法重用
  • 穩定性由最脆弱的 UI 層決定(短板理論)
  • UI 組件難以自動化測試

MVC 模式定義

Trygve Reenskaug 1979 年於 Xerox PARC 提出,最初用於 Smalltalk。三大角色職責:

  • Model:封裝應用狀態與業務功能,領域模型,執行業務邏輯並在狀態變更時通知 View
  • View:呈現可視化介面,捕捉使用者操作
  • Controller:接收 View 轉發的使用者操作,處理 UI 邏輯,協調 Model 與 View

MVC 交互圖

傳統 MVC 允許 View 直接查詢 Model、Model 直接通知 View,建議採用觀察者模式 (事件機制) 實現雙向通知。

多層架構中的 MVC

MVC 非對應三層架構 (UI/BLL/DAL),而是表現層的設計模式。多層架構下 Model 多為業務層入口 (Gateway) 或服務代理。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved