Maison  >  Article  >  développement back-end  >  Introduction à Façade (mode d'apparence) du modèle de conception PHP

Introduction à Façade (mode d'apparence) du modèle de conception PHP

怪我咯
怪我咯original
2017-07-13 10:19:581249parcourir

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn