每一個可以努力的日子,都是一份厚禮。
MVC
MVC之患上肥胖症的Controller
2012 1月 11th
來這邊負責做的一個項目,用了一個叫做 Yii Framework 的 MVC 框架,剛開始的時候自以為結構很穩健(當然,是相對於現有的爛系統來講)。但是隨着對業務邏輯理解的深入,我開始意識到問題的嚴重,我錯誤地理解了 MVC 中的 Controller,想當然地根據以往的經驗,把所有的業務邏輯都放在 Controller 的 action 中去實現,於是,每一個 Controller 的代碼都上千行,越來越臃腫。
最終導致我下定決心對這兩個月工作進行重構的,是一個對外開放 API 接口的需求。按照現在的架構,代碼基本無法復用,我需要把很多功能再重複寫一遍,這實在是無法接受的。面向對象編程不僅僅是課本上的名詞啊!真正開始實踐才發現要有面向對象意識,有全局觀,是多麼難得的一件事情。