PHP设计模式 - 门面模式
生活随笔
收集整理的這篇文章主要介紹了
PHP设计模式 - 门面模式
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
門面模式 (Facade)又稱外觀模式,用于為子系統中的一組接口提供一個一致的界面。門面模式定義了一個高層接口,這個接口使得子系統更加容易使用:引入門面角色之后,用戶只需要直接與門面角色交互,用戶與子系統之間的復雜關系由門面角色來實現,從而降低了系統的耦
?
<?php class Camera {public function turnOn() {}public function turnOff() {}public function rotate($degrees) {} }class Light {public function turnOn() {}public function turnOff() {}public function changeBulb() {} }class Sensor {public function activate() {}public function deactivate() {}public function trigger() {} }class Alarm {public function activate() {}public function deactivate() {}public function ring() {}public function stopRing() {} }class SecurityFacade {private $_camera1, $_camera2;private $_light1, $_light2, $_light3;private $_sensor;private $_alarm;public function __construct() {$this->_camera1 = new Camera();$this->_camera2 = new Camera();$this->_light1 = new Light();$this->_light2 = new Light();$this->_light3 = new Light();$this->_sensor = new Sensor();$this->_alarm = new Alarm();}public function activate() {$this->_camera1->turnOn();$this->_camera2->turnOn();$this->_light1->turnOn();$this->_light2->turnOn();$this->_light3->turnOn();$this->_sensor->activate();$this->_alarm->activate();}public function deactivate() {$this->_camera1->turnOff();$this->_camera2->turnOff();$this->_light1->turnOff();$this->_light2->turnOff();$this->_light3->turnOff();$this->_sensor->deactivate();$this->_alarm->deactivate();} }//client $security = new SecurityFacade(); $security->activate();?
轉載于:https://www.cnblogs.com/taozi32/p/9226751.html
總結
以上是生活随笔為你收集整理的PHP设计模式 - 门面模式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: spark dataFrame with
- 下一篇: OSPF实验二