コマンド パターン (Command) は、非常に一般的に使用されるデザイン パターンです。 その本質は、コマンドをカプセル化し、コマンド発行の責任とコマンドの実行の責任を分離し、オブジェクト間の結合を減らすことです。システムに簡単に追加できます。
コマンド モードの一般的に使用される利点は、リクエストの送信者と受信者、およびシステムを完全に分離できることです。デカップリングはシステムの最終目標です。
分離後、特定のオブジェクトの特定のメソッドが、リクエストの受信者が誰であるかを知らずに呼び出されます。 (推奨学習: PHP プログラミング入門から習熟まで )
IoT 環境では人工知能が急速に発展しており、現在では携帯電話に接続するだけでスマートライトを簡単に制御できるようになりました。 、冬はベッドに寝ながら 開閉を簡単に実現。
コード:
<?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 中国語 Web サイトの他の関連記事を参照してください。