Heim  >  Artikel  >  Backend-Entwicklung  >  Einführung in die Fassade (Darstellungsmodus) des PHP-Entwurfsmusters

Einführung in die Fassade (Darstellungsmodus) des PHP-Entwurfsmusters

怪我咯
怪我咯Original
2017-07-13 10:19:581308Durchsuche

Bietet eine konsistente Schnittstelle für eine Reihe von Schnittstellen im Subsystem und definiert eine High-Level-Schnittstelle, um die Verwendung dieses Subsystems zu vereinfachen

Musterdefinition: Fassadenmuster (Fassadenmuster): Die externe Kommunikation mit einem Subsystem muss über ein einheitliches Fassaden-Objekt erfolgen, das für das Subsystem eine Reihe von Schnittstellen bereitstellt eine konsistente Schnittstelle, und das Fassadenmuster definiert eine High-Level-Schnittstelle, die die Verwendung dieses Subsystems erleichtert. Der Erscheinungsmodus wird auch Fassadenmodus genannt, bei dem es sich um einen Objektstrukturmodus handelt.
Modusstruktur:

Der Darstellungsmodus ermöglicht es dem Client, ein komplexeres System auf einfache Weise aufzurufen, um eine Aufgabe abzuschließen.

Darstellungsmodus, auch Fassadenmodus genannt. Es wird meist als Zwischenschicht zwischen mehreren Subsystemen verwendet. Benutzer fordern Arbeiten direkt über das Facade-Objekt an, sodass keine komplexen Aktionen zum Aufrufen mehrerer Subsysteme erforderlich sind.

Ein häufiges Beispiel für den Erscheinungsmodus ist, dass wir viele Aktien gekauft haben, aber die Zeit begrenzt ist. Die Nachverfolgung ist kompliziert und wir haben ein Chaos angerichtet. Also haben wir einfach Aktienfonds gekauft. Der Aktienfonds ähnelt dem Fassadenobjekt des Erscheinungsmodells, und das Subsystem besteht aus jeder Aktie, die vom Aktienfonds investiert wird.

Der Code lautet wie folgt:

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);

Der Code lautet wie folgt:

<?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();

Das obige ist der detaillierte Inhalt vonEinführung in die Fassade (Darstellungsmodus) des PHP-Entwurfsmusters. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn