php命令模式什么意思
内容导读
收集整理的这篇技术教程文章主要介绍了php命令模式什么意思,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2238字,纯文字阅读大概需要4分钟。
内容图文
命令模式(Command)是一种非常常用的设计模式,其本质是对命令进行封装,将发出命令的责任和执行命令的责任分割开,降低对象之间的耦合度,新的命令可以很容易地加入到系统中。命令模式之所以常用的优势就在于可以将请求发送者和接收者完全解耦,而系统解耦是系统的终极目标。
解耦之后调用某些对象的某些方法,并不知道请求的接收者是谁。(推荐学习:PHP编程从入门到精通)
物联网环境下人工智能发展迅速,现在的智能灯,只需要连接手机就可以轻松操控,冬天躺在床上轻松实施打开关闭。
代码:
<?php header("Content-Type:text/html;charset=utf-8"); require_once "Command.php"; // 智能灯$lamp = new Lamp(); // 开灯命令$on = new onCommand($lamp);// 关灯命令$off = new offCommand($lamp); // 控制器类 请求者 不用知道对象是谁$_c = new Control($on,$off); $_c->turnOn(); // 开灯方法$_c->turnOff(); // 关灯方法
代码:
<?php// 智能灯类Class Lamp{ /** * 开灯方法 * @access public */ public function TurnOn() { echo "已帮您打开智能灯<br/>"; } /** * 关灯方法 * @access public */ public function TurnOff() { echo "已帮您关闭智能灯<br/>"; }} // 命令抽象总类abstract Class ICommand{ /** * 抽象执行方法 * @access public */ abstract public function Execute();} // 开灯命令Class onCommand extends ICommand{ /** * 智能灯对象 * @var object private */ private $_lamp; /** * 构造函数 * @access public * @param object $lamp 智能灯对象 */ function __construct($lamp) { $this->_lamp = $lamp; } /** * 开灯执行方法 * @access public */ function Execute() { $this->_lamp->TurnOn(); }} // 关灯命令Class offCommand extends ICommand{ /** * 智能灯对象 * @var object private */ private $_lamp; /** * 构造函数 * @access public * @param object $lamp 智能灯对象 */ function __construct($lamp) { $this->_lamp = $lamp; } /** * 关灯执行方法 * @access public */ function Execute() { $this->_lamp->TurnOff(); } } // 遥控器类Class Control{ /** * 开灯命令对象 * @var object private */ private $_on; /** * 关灯命令对象 * @var object private */ private $_off; /** * 构造函数 * @access public * @param object $on 开灯对象 * @param object $off 关灯对象 */ function __construct($on,$off) { $this->_on = $on; $this->_off = $off; } /** * 开灯函数 * @access public */ function turnOn() { $this->_on->Execute(); } /** * 关灯函数 * @access public */ function turnOff() { $this->_off->Execute(); }}
输出结果:
已帮您打开智能灯已帮您关闭智能灯
以上就是php命令模式什么意思的详细内容,更多请关注Gxl网其它相关文章!
内容总结
以上是为您收集整理的php命令模式什么意思全部内容,希望文章能够帮你解决php命令模式什么意思所遇到的程序开发问题。 如果觉得技术教程内容还不错,欢迎将网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。