Controller與Model的分離
在第章ASPNET + MVC中我們談到過ASPNET MVC是基於MVC的變體Model設計的ASPNET MVC所謂的Model僅僅表示綁定到View上的數據我們一般稱之為View Model而真正的Model一般意義上指維護應用狀態和提供業務功能操作的領域模型或者是針對業務層的入口或者業務服務的代理真正的MVC在ASPNET MVC中的體現如圖所示
圖 ASPNET MVC + Model
對於一個ASPNET MVC應用來說用戶交互請求直接發送給Controller如果涉及針對某項業務功能的調用Controller會直接調用Model如果需要呈現業務數據Controller會通過Model獲取相應業務數據並轉換成View Model最終通過View呈現出來這樣的交互協議方式反映了Controller針對Model的直接依賴
如果我們在Controller激活系統中引入IoC並采用IoC的方式提供用於處理請求的Controller對象那麼Controller和Model之間的依賴程度在很大程度上被降低了甚至可以像圖所示的一樣以接口的方式對Model進行抽象讓Controller依賴於這個抽象化的Model接口而不是具體的Model實現
圖 ASPNET MVC + IModel +Model
返回目錄ASPNET MVC 框架揭秘
編輯推薦
ASP NET開發培訓視頻教程
Microsoft NET框架程序設計視頻教程
Java程序性能優化讓你的Java程序更快更穩定
Visual C++音頻/視頻技術開發與實戰
From:http://tw.wingwit.com/Article/program/net/201311/16075.html