這些是我個(gè)人理解,不正確的地方還望大家指正補(bǔ)充计贰。
MVC即是MODEL----View----Controller聂抢,至少在IOS是這樣的。
Model:保存應(yīng)用數(shù)據(jù)的狀態(tài)帖努,回應(yīng)視圖對(duì)狀態(tài)的查詢撰豺;處理應(yīng)用的業(yè)務(wù)邏輯,完成應(yīng)用的網(wǎng)絡(luò)通信拼余。
View:為用戶展示信息并提供接口污桦;用戶通過視圖向控制器發(fā)出動(dòng)作請(qǐng)求,控制器做出響應(yīng)匙监。
controller:接受用戶的請(qǐng)求凡橱,根據(jù)請(qǐng)求更新數(shù)據(jù)模型;控制器是視圖和數(shù)據(jù)模型的媒介亭姥,可以降低視圖與數(shù)據(jù)模型的耦合度稼钩,提供開發(fā)效率。
在IOS開發(fā)中达罗,MODEL和VIEW是不可以直接通信的坝撑。
MVC模式是一種通用的設(shè)計(jì)思想,說它是23種設(shè)計(jì)模式中也可以粮揉,但我認(rèn)為他并不僅僅是一種模式绍载,更是解決問題的一種抽象化思想,
這么多理論不經(jīng)過敲代碼是很難理解的滔蝉。在我敲代碼中,一些小的項(xiàng)目或者DEMO塔沃,類比較少的時(shí)候可以直接往根目錄里面加蝠引,但是一旦項(xiàng)目比較大阳谍,類很多,邏輯很復(fù)雜螃概,如果是高手全把類放在一起矫夯,一次性O(shè)K,我也沒話說,但那樣的人很少吊洼,再說一個(gè)項(xiàng)目的生命周期很長训貌,在這里就需要把視圖相關(guān)的類和文件,庫放在一起冒窍,總之分類管理递沪,便于維護(hù)。也便于后期找bug综液。
現(xiàn)階段我對(duì)mvc的理解就是這樣款慨,其中還有很多,比如MVCS ,MVCP啊谬莹,這些只要對(duì)敲代碼檩奠,就可以領(lǐng)悟出來,光看理論很難看懂什么附帽。