今天面试中所提到的命令者模式
在编码过程中我们可能会发生这样的一些编码问题,例如这样的形式:
<?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{
}
可能语言表达有些问题。如果有不同的或者写错了地方望大家海涵。
浙公网安备 33010602011771号