이 글은 주로 PHP 명령 모드에 대한 자세한 설명과 사례를 소개하고 있으니 관심 있는 분들이 참고하시면 좋을 것 같습니다.
명령 패턴(Command)은 매우 일반적으로 사용되는 디자인 패턴입니다.
그 본질은 명령을 캡슐화하고, 명령을 내리는 책임과 명령을 실행하는 책임을 분리하고, 객체 간의 결합을 줄이는 것입니다. 체계.
일반적으로 사용되는 명령 모드의 장점은 요청 송신자와 수신자를 완전히 분리할 수 있다는 점이며, 시스템 분리는 시스템의 궁극적인 목표입니다.
분리 후 특정 개체의 특정 메서드를 호출하면 요청 수신자가 누구인지 알 수 없습니다.
사물 인터넷 환경에서 인공 지능이 빠르게 발전하고 있습니다. 요즘에는 스마트 조명을 휴대폰에 연결하기만 하면 쉽게 제어할 수 있으며, 겨울에도 침대에 누워서도 쉽게 켜고 끌 수 있습니다.
<?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 커맨드 모드의 자세한 설명과 사례의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!