今天面试中所提到的命令者模式

在编码过程中我们可能会发生这样的一些编码问题,例如这样的形式:

<?php
class message{
    function indexAction(){

    }

    function listAction(){
    
    }

    function detailAction(){
    
    }

......

}

  这是一个类中有很多操作,比如说首页,列表跟内容详情页。大多数码农在coding中都会采取这种最原始的写法。发现这种写法会很没问题。那么可能会发生这样一个问题哈。假设我这个类中操作会比较多。我在进行首页操作的过程中用到了好多资源(例如首页,列表页,内容详情页做了很多表查询及变量的赋值操作。)那么这个类中就会很长很长,那我们假设他有2000行左右。假设在某一个方法中我们写错了一行代码,例如少加了一个;那么其他方法在访问的过程中就会报错。

  下面我们就改写一些这个类

首页:

class messageA extends baseController{
    function __call($key){
        $obj = new $key."Action";
        $obj -> excute();//这里体现的就是命令者模式
    }
}

class indexAction extends messageA{
    
}

可能语言表达有些问题。如果有不同的或者写错了地方望大家海涵。

 

posted on 2015-03-17 22:23  猩猩每日一更  阅读(186)  评论(0)    收藏  举报

导航