2021年7月7日星期三

PHP设计模式—命令模式

 

 

定义:

命令模式(Command):将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。

 

结构:

  • Command:命令抽象类,用来声明执行操作的接口。
  • ConcreteCommand:具体命令类,将一个接收者对象绑定于一个动作,调用接收者相应的操作。
  • Invoker:命令发送者,要求该命令执行这个请求。
  • Receiver:命令接收者,知道如何实施与执行一个请求相关的操作,任何类都可能作为一个接收者。
  • Client:客户端代码,创建一个具体命令对象并设定它的接收者。

 

代码实例:

/** * 命令抽象类 * Interface Command */interface Command{ /**  * @return mixed  */ public function execute();}/** * 具体命令类 * Class ConcreteCommand */class ConcreteCommand implements Command{ /**  * @var Receiver  */ protected $receiver; /**  * ConcreteCommand constructor.  * @param Receiver $receiver  */ public function __construct(Receiver $receiver) {  $this->receiver = $receiver; } /**  * @return mixed|void  */ public function execute() {  // TODO: Implement execute() method.  $this->receiver->action(); }}/** * 命令发送者 * Class Invoker */class Invoker{ /**  * @var  */ protected $command; /**  * @param Command $command  */ public function setCommand(Command $command) {  $this->command = $command; } /**  * 执行  */ public function run() {  $this->command->execute(); }}/** * 命令接收者 * Class Receiver */class Receiver{ /**  * 执行请求  */ public function action() {  echo "执行请求"; }}# 客户端代码// 设定接收者$receiver = new Receiver();$command = new ConcreteCommand($receiver);// 发送命令$invoker ......

原文转载:http://www.shaoqun.com/a/852336.html

跨境电商:https://www.ikjzd.com/

wangwei:https://www.ikjzd.com/w/1744

凹凸曼:https://www.ikjzd.com/w/1392

heap:https://www.ikjzd.com/w/2012


定义:命令模式(Command):将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。结构:Command:命令抽象类,用来声明执行操作的接口。ConcreteCommand:具体命令类,将一个接收者对象绑定于一个动作,调用接收者相应的操作。Invoker:命令发送者,要求该命令执行这个请求。Receiver:命令接收者,知道如何实施与
Wish蓝海产品类目分享2019(一):法国蓝海产品类目:https://www.ikjzd.com/articles/103917
亚马逊低价政策暗潮涌动,卖家还有利可图吗?:https://www.ikjzd.com/articles/103918
外贸干货:揭秘WhatsApp营销的新玩法!:https://www.ikjzd.com/articles/103920
Wish蓝海产品类目分享2019(二):巴西蓝海产品类目:https://www.ikjzd.com/articles/103921
口述被房东老头不停的要 被老头玩好爽快受不了:http://lady.shaoqun.com/a/247575.html
公车掀起老师裙子进入 超短裙老师的好小好紧:http://lady.shaoqun.com/a/247202.html
口述实录:一个少妇的疯狂出轨生活:http://lady.shaoqun.com/m/a/72533.html
男朋友说穿裙子方便做 脱了我内裤就直接进了:http://www.30bags.com/m/a/249914.html
有些人见300次没用,有些人见3次就够了:http://lady.shaoqun.com/a/406843.html
如何摆脱一个小小的"工具"人,成为一个"威武"的君子:http://lady.shaoqun.com/a/406844.html
如何用TikTok打响独立站,出海跨境东南亚市场?:https://www.ikjzd.com/articles/146444
3个问题解决亚马逊卖家对感谢卡/礼品券的担忧:https://www.ikjzd.com/articles/146443

没有评论:

发表评论