歡迎訪問我的博客muhlenXi武福,該文章出自我的博客。
版權聲明:本文為muhlenXi原創(chuàng)文章缭保,轉載請注明出處汛闸,未經允許不得轉載.
前言:
MVC,全名是Model View Controller艺骂,是模型(model)-視圖(view)-控制器(controller)的縮寫诸老,一種軟件設計典范,用一種業(yè)務邏輯钳恕、數(shù)據别伏、界面顯示分離的方法組織代碼,將業(yè)務邏輯聚集到一個部件里面忧额,在改進和個性化定制界面及用戶交互的同時厘肮,不需要重新編寫業(yè)務邏輯。
學習貴在記錄和總結收獲睦番!點擊閱讀全文了解更多类茂!
正文:
MVC是什么?
MVC是一個基本機制抡砂,用于將程序中的所有對象拆分到三個陣營(三層)的一個陣營中大咱。第一層是Model,第二層是View注益,第三層是Controller碴巾。
Model = 你的應用是什么?
Controller = 控制 Model 如何顯示在屏幕上丑搔。
View = 你的控制器的元素厦瓢,用于構成界面。
MVC是如何通信的啤月?
Controller -> Model
Controller 對 Model有完全訪問權限煮仇。
Model -> Controller
Model 通過
Notification & KVO
的方式與Controller通信。
Controller -> View
Controller 對 View 也有完全的訪問權限谎仲。如:Controller擁有一個outlet屬性浙垫,該屬性指向View中的對象。
View -> Controller
View 通過
action-target
的方式與Controller通信。如:button的點擊
View 還通過
Delegate
的方式與Controller通信夹姥。
數(shù)據不能作為視圖的內部屬性杉武。它是通過
data source delegate
的方式與Controller通信的。也就是說辙售,Controller從Model中獲取數(shù)據然后傳遞給View轻抱。
Model <-> View
Model和View不能相互通信。是完全獨立的旦部。
通過下圖祈搜,我們可以很好的理解他們之間的通信方式。
多個MVC的協(xié)作
MVC的堆疊可以構成一個復雜的應用 如圖所示:
感謝您的閱讀士八,一起學習容燕,一起成長,加油曹铃!