php-命令模式实现
概述
命令模式(Command Pattern):将一个请求封装为一个对象,从而使我们可用不同的请求对客户进行参数化;对请求排队或者记录请求日志,以及支持可撤销的操作。命令模式是一种对象行为型模式,其别名为动作(Action)模式或事务(Transaction)模式。
以摩托制造厂为例,车间主任需向生产线分配生产命令。此处可以用命令模式实现
模式结构
- Command - 命令接口
- Invoker - 命令调度者
- workShop - 生产线接受命令
- workShopDirector -车间主任-分配命令给生产线
UML图例
代码实例
<?php
//命令接口
interface Command
{
public function execute();
}
//命令调度者
class Invoker
{
//命令列表
private $_command = array();
//新增命令
public function addCommand($command)
{
$this->_command[] = $command;
}