iOS中的MVVM介紹

2018-08-01 15:56 更新

  有一個禪宗佛教的概念叫做"初心"。禪宗法師鈴木俊隆寫道:"初學者的心中有很多可能性(潛意識的點子),但在專家心里(這種可能性/點子)就相對少很多"。在寫作本書的過程中,我經(jīng)常會回到這個概念里重新審視自己,提醒自己不要對那些看起來很新的或不習慣的事物過早下結(jié)論.

  本著這種精神,我們回過頭來看看你當初接觸iOS應用開發(fā)的情形:與可能只知道使用Model-View-Controller(MVC)的架構(gòu)來編寫iOS應用的現(xiàn)在的你相比,那時候你一無所知。你的內(nèi)心隨時準備接納外界無限的可能性(這里指的是任何可以編寫iOS應用的方式)。而MVC社區(qū)的長老們指導你使用MVC架構(gòu)來做,因為那就是他們所知道的蘋果公司所倡導的方式。

  如果你已經(jīng)用這種方式開發(fā)iOS應用程序一段時間,你可能會熟悉MVC背后的另類意義:巨大的視圖控制器.(因為MVC:惡搞成Massive View Controller的縮寫)。很多時候,我們途方便把業(yè)務邏輯和其他代碼都放在試圖控制器中,即便從架構(gòu)的角度上來說把它們放在這里不是最佳選擇。

  Model View View-Model 也稱MVVM,是一種出自微軟的替代MVC架構(gòu)的新架構(gòu)。我知道,我知道!iOS社區(qū)沒有任何歷史作為微軟的鐵桿粉絲而存在,但(微軟)他們的軟件工程小組確實做出了偉大的工作。MVVM不僅僅在.Net平臺上使用---我們也可以在iOS平臺上使用。就像我們在這一章將要看到的:與ReactiveCocoa結(jié)合使用,MVVM令人難以置信地適用于iOS。使用MVVM能夠有效地減少ViewController中的業(yè)務邏輯,這會大大減少其臃腫的體積,也使得業(yè)務邏輯更容易測試。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號