2012-09-29 39 views
2

我有一個控制器(IMO)太長(超過1200行)。 主要問題是我有很多動作。 我可以組此動作3組:重構ZF控制器文件?

  1. 日曆相關行動

  2. 事件相關的操作(姑且稱之爲事件日曆的「子模塊」)

  3. 提供商相關的操作(也有「子模塊」的日曆)

什麼是重組代碼的最佳方法。
我可以在某種程度上將它分成子類嗎? 或者是否有任何ZF特定的方式來實現這一目標,而無需爲日曆「子模塊」創建額外的控制器?

+0

[應避免的短語](http://stuck.include-once.org/#help4)包括「先生」,「提前致謝」,「儘快」,甚至是平淡的「幫助我」,都會使人們失望。另外我想知道你的問題是否只針對Zend Framework,因爲你這樣問。 – hakre

+0

我不知道ZF是特定的,還是它適用於任何框架,因爲ZF是我使用的唯一框架,而且我也是新手。關於「謝謝」,我不知道這一點。短語已刪除。 – sica07

+0

那麼讓我們再添加一些信息:難道主要是你的控制器動作(類方法)變得越來越大?難道你不能重新組合成不同的控制器,因爲所有的動作都屬於彼此?這很可能是你的行爲中有重複的代碼?在重構中,您通常可以應用某些方法,但是這些方法通常取決於具體代碼(這不是您問題的一部分,也可能無法在此處共享(如果代碼審閱網站仍存在)。請參閱http://sourcemaking.com/refactoring – hakre

回答

2

沒有這樣的事情是最好的方式。

如果你認爲你的班級要大,你必須根據分離關注原則來分班。

關注點分離的原則規定,系統元件應具有排他性目的奇異。也就是說,任何要素都不應該分擔他人的責任或者包含不相關的責任。

分離問題是通過建立邊界來實現的。邊界是描述給定責任的任何邏輯或物理約束。

如果您的課程沒有違反「關注分離」原則,請保持原樣。