1、把请求封装成一个对象,允许使用不同的请求来参数化客户。对请求进行排队或记录请求日志,并支持可撤销动作。
2、组成命令抽象类、具体命令类等。
命令抽象类,用来声明执行操作的接口。
具体命令类,将一个接收者对象绑定于一个动作,调用接收者相应的操作。
命令发送者,要求该命令执行这个请求。
命令接收者,知道如何实施与执行一个请求相关的操作,任何类都可能作为一个接收者。
客户端代码,创建一个具体命令对象并设定它的接收者。
实例
<?php//命令抽象类abstract class Command{//执行方法abstract function Excute();} //具体命令类-可以根据不同情况有多个继承具体类class ConcreteCommand extends Command{private $Receiver;function __construct(Receiver $Receiver){$this->Receiver = $Receiver;}function Excute(){$this->Receiver->DoSomething();}} //接受者类class Receiver{//定义接受者要做的事情,可以有很多function DoSomething(){echo "Receiver do something.";}} //调用者class Invoker{private $Command;function __construct(Command $Command){$this->Command = $Command;}function Action(){$this->Command->Excute();}} //调用//不使用调用者类调用$Receiver = new Receiver();$Command = new ConcreteCommand($Receiver);$Command->Excute(); //使用调用者类$Invoker = new Invoker($Command);$Invoker->Action();?>
以上就是php命令模式的理解,希望对大家有所帮助。更多php学习指路:php教程
推荐操作系统:windows7系统、PHP5.6、DELL G3电脑