8、职责链模式

原创 2016年05月31日 22:55:36
chain of resionbility

    <h1>指责链模式<h1>
        <form method="post" action="">
        <select name="jubao">
            <option value="1">粗口</option>
            <option value="2">黄赌毒</option>
            <option value="3">分裂国家</option>
        </select>
        <input type="submit" value="提交">
    </form>

<?php
    $lev = isset($_POST['jubao']) ? $_POST['jubao'] + 0 : 0 ;

    class board
    {
        public function process()
        {
            echo '版主删帖';
        }
    }
    class admin
    {
        public function process()
        {
            echo '管理员封帐号';
        }
    }
    class police
    {
        public function process()
        {
            echo '抓起来';
        }
    }

    if($lev == 1)
    {
        $judge = new board();
        $judge->process();
    }else if($lev == 2)
    {
        $judge = new admin();
        $judge->process();
    }else if($lev == 3)
    {
        $judge = new police();
        $judge->process();
    }
?>

<h1>指责链模式<h1>
<form method="post" action="">
    <select name="jubao">
        <option value="1">粗口</option>
        <option value="2">黄赌毒</option>
        <option value="3">分裂国家</option>
    </select>
    <input type="submit" value="提交">
</form>
<?php
$lev = isset($_POST['jubao']) ? $_POST['jubao'] + 0 : 0 ;
$judge = new board();
$judge->process($lev);
//责任链模式
class board
{
    public $power = 1;
    protected $top = 'admin';

    public function process($lev)
    {
        if($lev <= $this->power)
        {
            echo '版主删帖';
        }else{
            $top = new $this->top;
            $top->process($lev);
        }
    }
}
class admin
{
    public $power = 2;
    protected $top = 'police';

    public function process($lev)
    {
        if($lev <= $this->power)
        {
            echo '管理员封帐号';
        }else{
            $top = new $this->top;
            $top->process($lev);
        }
    }
}
class police
{
    protected $power;
    protected $top = null;

    public function process()
    {
        echo '抓起来';
    }
}


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

第17章_职责链模式

  • 2012年09月27日 10:33
  • 1.03MB
  • 下载

职责链模式PPT带源码

  • 2014年12月05日 12:49
  • 234KB
  • 下载

请求的链式处理——职责链模式(二)

16.2 职责链模式概述      很多情况下,在一个软件系统中可以处理某个请求的对象不止一个,例如SCM系统中的采购单审批,主任、副董事长、董事长和董事会都可以处理采购单,他们可以构成一条处理采购单...

Objective C职责链模式设计源码

  • 2012年08月15日 15:56
  • 56KB
  • 下载

读书笔记22:职责链模式

1、定义:使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这个对象连成一条链,并沿着这条链传递该请求,直到对象处理它为止。     相信大家都写过if...else或者sw...
  • nodeman
  • nodeman
  • 2015年07月31日 10:12
  • 180

职责链模式模型代码

  • 2012年03月26日 16:28
  • 21KB
  • 下载

设计模式之职责链模式

  • 2016年03月15日 17:16
  • 1.03MB
  • 下载

职责链模式(一):采购单的分级审批

“对二”,“过”,“过”……这声音熟悉吗?你会想到什么?对!纸牌。在类似“斗地主”这样的纸牌游戏中,某人出牌给他的下家,下家看看手中的牌,如果要不起上家的牌则将出牌请求再转发给他的下家,其下家再进行判...
  • Mark_LQ
  • Mark_LQ
  • 2015年09月07日 17:53
  • 754
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:8、职责链模式
举报原因:
原因补充:

(最多只允许输入30个字)