PHP设计模式系列(十八):命令模式
来源:互联网 发布:单片机恒温控制系统 编辑:程序博客网 时间:2024/06/16 01:41
命令模式
命令模式(Command Pattern):将一个请求封装为一个对象,从而使我们可用不同的请求对客户进行参数化;对请求排队或者记录请求日志,以及支持可撤销的操作。命令模式是一种对象行为型模式,其别名为动作(Action)模式或事务(Transaction)模式。
模式结构
命令模式包含如下角色:
- Command: 抽象命令类
- ConcreteCommand:具体命令类
- Invoker: 调用者
- Receiver: 接收者
结构图
PHP代码实现
<?php/** * 命令模式 *///Command: 抽象命令类abstract class Command{ public function __construct($receiver){ $this->receiver=$receiver; } abstract public function Execute();}//ConcreteCommand:具体命令类class ConcreteCommand extends Command{ public function Execute(){ $this->receiver->Action(); }}//Invoker: 调用者class Invoker{ public function SetCommand(Command $command){ $this->command=$command; } public function ExecuteCommand(){ $this->command->Execute(); }}//Receiver: 接收者class Receiver{ public function Action(){ var_dump('执行请求'); }}$r=new Receiver();$c=new ConcreteCommand($r);$i=new Invoker();$i->SetCommand($c);$i->ExecuteCommand();
运行结果
string '执行请求' (length=12)
0 0
- PHP设计模式系列(十八):命令模式
- Java设计模式(十八)----命令模式
- PHP类实例教程(十八):设计模式之模版模式
- 浅谈Java设计模式(十八)命令模式(Command)
- JAVA--命令模式(Command)--设计模式十八
- 设计模式系列-命令模式
- 设计模式系列:命令模式
- 设计模式(十八)------23种设计模式(10):命令模式
- PHP设计模式系列
- PHP设计模式系列
- PHP设计模式系列
- PHP设计模式系列
- PHP设计模式系列
- PHP设计模式系列
- PHP设计模式系列
- PHP设计模式系列
- PHP设计模式系列
- PHP设计模式系列
- 51nod 四点共面(数学)
- wxWidgets源码分析-事件机制(下)
- Spring MVC视图解析器:Spring MVC ResourceBundleViewResolver示例
- leetcode
- PHP乱码问题
- PHP设计模式系列(十八):命令模式
- URAL
- LCD驱动移植
- PHP性能
- C/C++宏定义的可变参数详细解析
- 左右滑动式轮播图
- Bzoj4627: [BeiJing2016]回转寿司
- Ubuntu 16.04 安装Google Chrome浏览器及解决flash player问题
- 机器学习实战-第二章(k-近邻算法)