ios MVC框架使用個人見解

weixin_33727510發表於2017-06-01

       MVC全名是Model View Controller,是模型(model)-檢視(view)-控制器(controller)的縮寫,一種軟體設計典範,用一種業務邏輯、資料、介面顯示分離的方法組織程式碼,將業務邏輯聚集到一個部件裡面,在改進和個性化定製介面及使用者互動的同時,不需要重新編寫業務邏輯。MVC被獨特的發展起來用於對映傳統的輸入、處理和輸出功能在一個邏輯的圖形化使用者介面的結構中。

       MVC雖然給了我們一套使用參考方案,同時也應用的很多,但是,在使用的過程中會發現,如果用controller來整合model+view,那麼,對於一些相應的業務處理邏輯,將會使得整個controller非常的擁擠,很多的時候,可能寫的程式碼由於都擁擠在controller裡面,造成閱讀方法時,非常不便,甚至,我看到有的同事,在一個controller裡面寫上兩三千行的程式碼,如果業務需要,還得更多,這是非常不好的風格。其實一個controller裡的程式碼,最好控制在500以內,儘量不要超過800行。

        曾問過好幾個同事,你們對MVC怎麼理解,以及覺得應該如何使用,回答的驚人一致,模型(model)-檢視(view)-控制器(controller),很官方的,其實也沒有錯,但是在談到使用的時候,他們更多隻是在controller裡面整合model+view,然後在裡面寫各種互動,各種業務邏輯處理,於是乎,在檢視他們的程式碼中,就能經常看到動則兩三千行的程式碼,這對後期維護是一個非常頭疼的問題,尤其是對於後期接手的人員,簡直等於謀殺,所以在我專案組裡,我都要求他們去不斷的優化自己的程式碼,爭取做到,單個controller類裡不能超過800行,剛開始的時候,對他們來說,是件很煩瑣的事情,尤其是以前就沒有考慮過如何去做,於是我給他們提出方案,在原因的模式中,再新增一個專門處理業務邏輯的類,同時建立類方法進行處理。於是,controller裡面的程式碼量,呈直線下降,而且閱讀起來也方便很多。

學習是一種過程,我們在學習的過程中要善於發現不足,同時去尋找更有效的解決方法,交流才能進步,第一次寫文章,下篇寫最近一個專案中使用runtime搭建的一個高度解耦的框架,如有不同見解,歡迎留言!

相關文章