当前位置: 移动技术网 > IT编程>开发语言>PHP > php设计模式之命令模式使用示例

php设计模式之命令模式使用示例

2019年03月28日  | 移动技术网IT编程  | 我要评论

kose高丝,空袭h3,酒店会议室

命令类:
1.命令角色:声明了一个给所有具体命令类的抽象接口。这是一个抽象角色。
2.具体命令角色:定义一个接受者和行为之间的弱耦合;实现execute方法,负责调用接受的相应操作。execute()方法通常叫做执行方法
3.客户角色:创建一个具体命令对象并确定其接受者。
4.请求者角色:负责调用命令对象执行请求,相关的方法叫做行动方法。
5.接受者角色:负责具体实施和执行一个请求。
作用:
1.抽象出待执行的动作以参数化对象。
2.在不同的时刻指定、排列和执行请求。
3.支持取消操作
4.支持修改日志

复制代码 代码如下:

<?php
//命令接口
interface command{
     public function execute();
}
//具体命令
class concretecommand implements command{
     private $_receiver;
     public function __construct($receiver){
          $this->_receiver = $receiver;
     }
     public function execute(){
          $this->_receiver->action();
     }
}

//接受者
class receiver{
     private $_name;
     public function __construct($name){
          $this->_name = $name;
     }
     //行动方法
     public function action(){
          echo $this->_name.'do action .<br/>';
     }
}
//请求者
class invoker{
     private $_command;
     public function __construct($command){
          $this->_command = $command;
     }
     public function action(){
          $this->_command->execute();
     }
}

//客户端
class  client{
     public static function main(){
          $receiver = new receiver('jaky');
          $command = new concreteecommand($receiver);
          $invoker = new invoker($command);
          $invoker->action();
     }
}
client::main();
?>

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网