2.16. 中介者模式(Mediator)

未匹配的标注

理解

如果你懂lar的模型关联,那么将很容易理解代码。
中介 看成关联的类。

代码实现


<?php

abstract class Mediator{
    public $mediator;   //中介
    //设置中介
    public function setMediator($class)
    {
        $this->mediator = $class;
    }
    public function save()
    {
        echo get_class($this)."保存成功".PHP_EOL;
        if( $this->mediator != null) //如果有中介 就调用中介
         $this->mediator->save();
    }
}


class User extends Mediator { }

class UserInfo extends Mediator {
    public function get() { return "userinfo".PHP_EOL; }
}

class UserMoney extends Mediator {}



$user = new User();
$user->setMediator(
    new UserInfo()
);
echo $user->mediator->get();
$user->mediator->setMediator(
   new UserMoney()
);
$user->save();

运行结果

userinfo
User保存成功
UserInfo保存成功
UserMoney保存成功

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
讨论数量: 0
发起讨论 只看当前版本


暂无话题~