커맨드 패턴(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 명령 모드는 무엇을 의미합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!