淺談MVVM架構
一直以來,iOS應用開發中使用的都是MVC架構,M:model,V:View,C:Controller 三者獨立開來大大減少MV之間的耦合度,與此同時給C層帶來沉重的負擔,隨著項目開發度的增大,致使C層代碼異常復雜。然而近年新出的MVVM架構有取代MVC架構的趨勢。
什么是MVVM架構呢?其實它就是一個MVC架構的增強版,我們正式連接了視圖和控制器,并將表示邏輯從Controller移出放到一個新的對象里,即View Model。MVVM架構聽起來很復雜,但它本質上就是一個精心優化的MVC架構,而 MVC架構你早已熟悉。它正式規范了視圖和控制器緊耦合的性質,并引入新的組件。
在MVVM架構里,view和view controller正式聯系在一起,我們把它們視為一個組件。視圖view仍然不能直接引用模型model,當然controller也不能。相反,他們引用視圖模型view model。view model是一個放置用戶輸入驗證邏輯,視圖顯示邏輯,發起網絡請求和其他各種各樣的代碼的極好的地方。有一件事情不應歸入view model,那就是任何視圖本身的引用。
然而要在項目中使用MVVM架構,那與其匹配使用的非ReactiveCocoa框架莫屬了,至于ReactiveCocoa框架詳細使用,本文暫不介紹。建議入門不久的開發者可以適當學習下MVVM架構來開發應用,有經驗的開發者可以把嘗試項目中MVC架構換成MVVM架構哦。
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!