ホームページ >バックエンド開発 >PHPの問題 >phpコマンドモードとはどういう意味ですか?

phpコマンドモードとはどういう意味ですか?

(*-*)浩
(*-*)浩オリジナル
2019-09-23 09:12:411881ブラウズ

コマンド パターン (Command) は、非常に一般的に使用されるデザイン パターンです。 その本質は、コマンドをカプセル化し、コマンド発行の責任とコマンドの実行の責任を分離し、オブジェクト間の結合を減らすことです。システムに簡単に追加できます。

phpコマンドモードとはどういう意味ですか?

コマンド モードの一般的に使用される利点は、リクエストの送信者と受信者、およびシステムを完全に分離できることです。デカップリングはシステムの最終目標です。

分離後、特定のオブジェクトの特定のメソッドが、リクエストの受信者が誰であるかを知らずに呼び出されます。 (推奨学習: 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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。