假設(shè)類的結(jié)構(gòu)如下(MVC控制器):class Controller {
public function action1()
{ if(condition1)
{ // ……
} // elseif(condition2){……} // elseif(conditionN){……} else
{ // ……
}
}
public function action2()
{ if(condition1)
{ // ……
} // elseif(condition2){……} // elseif(conditionN){……} else
{ // ……
}
}
}分離后(不考慮接口):class Controller_Action1 extends Controller {
public function condition1()
{
……
}
public function condition2()
{
……
}
public function conditionN()
{
……
}
}class Controller_Action2 extends Controller {
public function condition1()
{
……
}
public function condition2()
{
……
}
public function conditionN()
{
……
}
2 回答

白豬掌柜的
TA貢獻(xiàn)1893條經(jīng)驗(yàn) 獲得超10個(gè)贊
從分工合作的角度來說,這么分開挺好的。
在symfony框架中,多個(gè)actions可以寫在一個(gè)actions.class.php文件里面,也可以每一個(gè)action只寫在一個(gè)XxxAction.class.php里,根據(jù)實(shí)際情況發(fā)現(xiàn)還是分開寫好,這樣很容易把工作分給更多的人完成
當(dāng)然你這里還沒有分離到每個(gè)action一個(gè)文件的程度,但是相對(duì)比最開始所有actions一個(gè)文件來說,還是要合理不少。如果一個(gè)團(tuán)隊(duì)的分工就是按照module的概念(module是某幾個(gè)actions的集合)去分的,那么你這么分其實(shí)也足夠了

弒天下
TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超8個(gè)贊
你這里用的是繼承,繼承的目的是提取共性, 所以你應(yīng)該展示你的controller類,才好判斷這個(gè)設(shè)計(jì)的合理性。
- 2 回答
- 0 關(guān)注
- 124 瀏覽
添加回答
舉報(bào)
0/150
提交
取消