>  기사  >  백엔드 개발  >  PHP 명령 모드는 무엇을 의미합니까?

PHP 명령 모드는 무엇을 의미합니까?

(*-*)浩
(*-*)浩원래의
2019-09-23 09:12:411843검색

커맨드 패턴(Command)은 매우 일반적으로 사용되는 디자인 패턴입니다. 핵심은 명령을 캡슐화하고, 명령을 내리는 책임과 명령을 실행하는 책임을 분리하고, 객체 간의 결합을 줄이는 것입니다. 새로운 명령을 쉽게 추가할 수 있습니다. 시스템.

PHP 명령 모드는 무엇을 의미합니까?

일반적으로 사용되는 명령 모드의 장점은 요청 송신자와 수신자를 완전히 분리할 수 있다는 점이며, 시스템 분리는 시스템의 궁극적인 목표입니다.

디커플링 후에는 요청 수신자가 누구인지 알지 못한 채 특정 개체의 특정 메서드가 호출됩니다. (추천 학습 : 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.