iOS中的MVVM介紹

2018-08-01 15:56 更新

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

  本著這種精神,我們回過頭來看看你當(dāng)初接觸iOS應(yīng)用開發(fā)的情形:與可能只知道使用Model-View-Controller(MVC)的架構(gòu)來編寫iOS應(yīng)用的現(xiàn)在的你相比,那時(shí)候你一無所知。你的內(nèi)心隨時(shí)準(zhǔn)備接納外界無限的可能性(這里指的是任何可以編寫iOS應(yīng)用的方式)。而MVC社區(qū)的長老們指導(dǎo)你使用MVC架構(gòu)來做,因?yàn)槟蔷褪撬麄兯赖奶O果公司所倡導(dǎo)的方式。

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

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


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

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)