> 백엔드 개발 > PHP 튜토리얼 > php 커맨드 모드의 자세한 설명과 사례

php 커맨드 모드의 자세한 설명과 사례

墨辰丷
풀어 주다: 2023-03-25 22:16:02
원래의
1689명이 탐색했습니다.

이 글은 주로 PHP 명령 모드에 대한 자세한 설명과 사례를 소개하고 있으니 관심 있는 분들이 참고하시면 좋을 것 같습니다.

명령 패턴(Command)은 매우 일반적으로 사용되는 디자인 패턴입니다.
그 본질은 명령을 캡슐화하고, 명령을 내리는 책임과 명령을 실행하는 책임을 분리하고, 객체 간의 결합을 줄이는 것입니다. 체계.

일반적으로 사용되는 명령 모드의 장점은 요청 송신자와 수신자를 완전히 분리할 수 있다는 점이며, 시스템 분리는 시스템의 궁극적인 목표입니다.
분리 후 특정 개체의 특정 메서드를 호출하면 요청 수신자가 누구인지 알 수 없습니다.

사물 인터넷 환경에서 인공 지능이 빠르게 발전하고 있습니다. 요즘에는 스마트 조명을 휴대폰에 연결하기만 하면 쉽게 제어할 수 있으며, 겨울에도 침대에 누워서도 쉽게 켜고 끌 수 있습니다.

<?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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿