6.php职责链

来源:互联网 发布:穿越火线手游淘宝商城 编辑:程序博客网 时间:2024/04/30 11:30

     职责链非常类似于switch,判断某一处理动作在不在自己的职权内,如果不在就向更高职责的类去要求处理。

<?php//村长来处理class Villagehead{    private $lev = 1;        public function conduct($num){        if($num <= $this->lev){            echo "问题被村长解决了!";        } else {            $obj = new  alcalde();            $obj->conduct($num);        }    }}//镇长来解决class alcalde{    private $lev = 2;    public function conduct($num){        if($num <= $this->lev){            echo "问题被镇长解决了!";        } else {            $obj = new  stasholder();            $obj->conduct($num);        }    }}//省长解决class stasholder{    private $lev = 3;    public function conduct($num){        if($num <= $this->lev){            echo "问题被省长解决了!";        } else {            $obj = new  chairman();            $obj->conduct($num);        }    }}//国家主席来解决class chairman{    public function conduct($num){        echo "问题一定会被解决!";    }}$obj = new Villagehead();$obj->conduct(3);
    在职责链中我们很容易对链条进行改写,只需要增加相应的处理级别,就可以了。

0 0
原创粉丝点击