#职责链模式
#实现方式有两种:由事物发起人自己去往下一个流程提交;由处理人完成下一个流程提交
#@职责链属于流程范式开发,完成某一件事物形成一个流程规则去完成。
#@这件事物一定要由职责人完成,并且反馈处理情况
#扩展:
#@1.一个事物可以由一个职责人完成,那么事物当到达职责人后就立即停止流程。
#@2.一个事物可以由所有职责人共同完成,那么事物会通过所有的责任人。
#处理事物
class process
{
protected $mark;
public function action($level)
{
(new employee())->action($level);
}
public function prt()
{
echo $this->mark;
}
}
#员工职责
class employee extends process
{
public function action($level)
{
if($level=='employee')
{
$this->mark='employee';
//处理完后的回馈
$this->prt();
}else{
//处理自己的事情,再提交给别人
(new director())->action($level);
}
}
}
#经理职责
class director extends process
{
public function action($level)
{
if($level=='director')
{
$this->mark='director';
//处理完后的回馈
$this->prt();
}else{
//处理自己的事情,再提交给别人
(new boss())->action($level);
}
}
}
#老板职责
class boss extends process
{
public function action($level)
{
$this->mark='boss';
//处理完后的回馈
$this->prt();
}
}
$ps=new process();
$ps->action('employee');
职责链
最新推荐文章于 2024-08-11 16:14:24 发布