ホームページ > バックエンド開発 > PHPチュートリアル > phpコマンドモードの詳しい説明と事例

phpコマンドモードの詳しい説明と事例

墨辰丷
リリース: 2023-03-25 22:16:02
オリジナル
1685 人が閲覧しました

この記事では主に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();  
    }  
}
ログイン後にコピー

関連する推奨事項:

JS のコマンド パターンの概念と使用法の分析

JS デザイン パターンのコマンド パターンの詳細な説明

JS コマンド パターンの概念と使用法の共有

以上がphpコマンドモードの詳しい説明と事例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート