Maison >développement back-end >tutoriel php >Introduction à Façade (mode d'apparence) du modèle de conception PHP
Fournit une interface cohérente pour un ensemble de interfaces dans le sous-système et définit une interface de haut niveau pour rendre ce sous-système plus facile à utiliser
Définition du modèle : Facade Pattern (Facade Pattern) : La communication externe avec un sous-système doit être effectuée via une façade unifiée objet pour le sous-système Un ensemble d'interfaces fournit une interface cohérente, et le modèle de façade définit une interface de haut niveau qui rend ce sous-système plus facile à utiliser. Le mode apparence est également appelé mode façade, qui est un mode de structure d'objet.
Structure du mode :
Le mode Apparence permet au client d'appeler un système plus complexe d'une manière simple pour terminer une chose.
Mode apparence, également appelé mode façade. Il est principalement utilisé comme couche intermédiaire entre plusieurs sous-systèmes. Les utilisateurs demandent directement du travail via l'objet Facade, éliminant ainsi le besoin d'actions complexes consistant à appeler plusieurs sous-systèmes.
Un exemple courant de mode d'apparition est que nous avons acheté de nombreuses actions, mais que le temps est limité. Le suivi est compliqué et nous avons fait un gâchis. Nous avons donc simplement acheté des fonds d’actions. Le fonds d'actions est comme l'objet Façade du modèle d'apparence, et le sous-système est chaque action investie par le fonds d'actions.
Le code est le suivant :
class car { public function start() { print_r("车子启动"); } public function check_stop() { print_r("刹车检查正常"); } public function check_box() { print_r("检查油箱正常"); } public function check_console() { print_r("检查仪表盘是否异常"); } } //facade模式 class carfacade { public function catgo(car $carref){ $carref->check_stop(); $carref->check_box(); $carref->check_console(); $carref->start(); } } //客户端可以简单的去调用。 $car = new car(); $carObj = new carfacade(); $carObj->catgo($car);
Le code est le suivant :
<?php /** * 外观模式 示例 * * 为子系统中的一组接口提供一个一致的界面,定义一个高层接口,使得这一子系统更加的容易使用 */ class SubSytem1 { public function Method1() { echo "subsystem1 method1<br/>"; } } class SubSytem2 { public function Method2() { echo "subsystem2 method2<br/>"; } } class SubSytem3 { public function Method3() { echo "subsystem3 method3<br/>"; } } class Facade { private $_object1 = null; private $_object2 = null; private $_object3 = null; public function construct() { $this->_object1 = new SubSytem1(); $this->_object2 = new SubSytem2(); $this->_object3 = new SubSytem3(); } public function MethodA() { echo "Facade MethodA<br/>"; $this->_object1->Method1(); $this->_object2->Method2(); } public function MethodB() { echo "Facade MethodB<br/>"; $this->_object2->Method2(); $this->_object3->Method3(); } } // 实例化 $objFacade = new Facade(); $objFacade->MethodA(); $objFacade->MethodB();
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!