这样分离是否正确?


假设类的结构如下(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()
    {
            ……
    }
}

oop php

团子大家族 10 years, 8 months ago

从分工合作的角度来说,这么分开挺好的。

在symfony框架中,多个actions可以写在一个actions.class.php文件里面,也可以每一个action只写在一个XxxAction.class.php里,根据实际情况发现还是分开写好,这样很容易把工作分给更多的人完成

当然你这里还没有分离到每个action一个文件的程度,但是相对比最开始所有actions一个文件来说,还是要合理不少。如果一个团队的分工就是按照module的概念(module是某几个actions的集合)去分的,那么你这么分其实也足够了

33459 answered 10 years, 8 months ago

Your Answer