Heim Backend-Entwicklung PHP-Tutorial php设计模式 Facade(外观模式)_php技巧

php设计模式 Facade(外观模式)_php技巧

May 17, 2016 am 09:18 AM
facade php设计模式

模式定义:外观模式(Facade Pattern):外部与一个子系统的通信必须通过一个统一的外观对象进行,为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。外观模式又称为门面模式,它是一种对象结构型模式。
模式结构:

外观模式的就是让client客户端以一种简单的方式来调用比较复杂的系统,来完成一件事情。

Subsystem:
复制代码 代码如下:

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

复制代码 代码如下:

/**
* 外观模式 示例
*
* 为子系统中的一组接口提供一个一致的界面,定义一个高层接口,使得这一子系统更加的容易使用
*/
class SubSytem1
{
public function Method1()
{
echo "subsystem1 method1
";
}
}

class SubSytem2
{
public function Method2()
{
echo "subsystem2 method2
";
}
}

class SubSytem3
{
public function Method3()
{
echo "subsystem3 method3
";
}
}

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
";
$this->_object1->Method1();
$this->_object2->Method2();
}

public function MethodB() {
echo "Facade MethodB
";
$this->_object2->Method2();
$this->_object3->Method3();
}
}

// 实例化
$objFacade = new Facade();

$objFacade->MethodA();
$objFacade->MethodB();
Erklärung dieser Website
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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Methodik zur Verbesserung der Geschäftsentwicklungseffizienz mithilfe des Golang-Fassadenmodells Methodik zur Verbesserung der Geschäftsentwicklungseffizienz mithilfe des Golang-Fassadenmodells Sep 27, 2023 am 11:33 AM

Methodische Einführung in die Verwendung des GolangFacade-Musters zur Verbesserung der Geschäftsentwicklungseffizienz: In der heutigen schnelllebigen Softwareentwicklungsumgebung müssen Entwickler schnell und effizient qualitativ hochwertigen Code entwickeln. Um die Effizienz der Geschäftsentwicklung zu verbessern, können wir Entwurfsmuster verwenden, um den Entwicklungsprozess zu vereinfachen und die Codekomplexität zu reduzieren. In diesem Artikel wird erläutert, wie Sie den Fassadenmodus in Golang verwenden, um die Effizienz der Geschäftsentwicklung zu verbessern, und es werden spezifische Codebeispiele aufgeführt. 1. Was ist der Fassadenmodus? Fassadenmuster sind eine Struktur

Häufig verwendete Entwurfsmuster in PHP und ihre Implementierungsmethoden Häufig verwendete Entwurfsmuster in PHP und ihre Implementierungsmethoden Jun 27, 2023 pm 01:08 PM

PHP ist eine weit verbreitete und sehr beliebte Programmiersprache. PHP ist ein sehr wichtiger Bestandteil heutiger Webanwendungen. Bei der Entwicklung von PHP-Anwendungen spielen Designmuster eine entscheidende Rolle. Entwurfsmuster sind eine Vorlage zur Lösung von Problemen, die in verschiedenen Umgebungen wiederverwendet werden kann. Sie helfen uns, besseren Code zu schreiben und den Code zuverlässiger, wartbarer und skalierbarer zu machen. In diesem Artikel werden wir einige häufig verwendete Entwurfsmuster in PHP und deren Implementierung untersuchen. Singleton-Muster Das Singleton-Muster ist ein Erstellungsmuster, das dies ermöglicht

Untersuchung der Anwendung des Golang-Fassadenmusters in der Microservice-Architektur Untersuchung der Anwendung des Golang-Fassadenmusters in der Microservice-Architektur Sep 28, 2023 pm 08:21 PM

Erkundung der Anwendung des GolangFacade-Musters in der Microservice-Architektur Die Microservice-Architektur ist eine Methode zur Aufteilung einer Anwendung in eine Reihe kleiner, autonomer und unabhängig ausgeführter Dienste, von denen jeder unabhängig entwickelt, bereitgestellt und skaliert werden kann. In dieser Architektur kommunizieren Gerätedienste über APIs und können mithilfe verschiedener Programmiersprachen und Technologie-Stacks implementiert werden. In einer Microservice-Architektur gibt es Abhängigkeiten zwischen verschiedenen Diensten. Beispielsweise muss ein Dienst möglicherweise mehrere andere Dienste aufrufen, um eine Anfrage abzuschließen. Verwenden Sie zu diesem Zeitpunkt Fac

So implementieren Sie mit Golang Facade prägnante Schnittstellenaufrufe So implementieren Sie mit Golang Facade prägnante Schnittstellenaufrufe Sep 27, 2023 pm 07:05 PM

So implementieren Sie mit GolangFacade präzise Schnittstellenaufrufe Einführung: In der Softwareentwicklung sind Schnittstellenaufrufe eine sehr häufige Anforderung. Bei der Entwicklung mit Golang können wir den Facade-Modus verwenden, um die Komplexität von Schnittstellenaufrufen zu vereinfachen und die Lesbarkeit und Wartbarkeit des Codes zu verbessern. In diesem Artikel wird erläutert, wie Sie mit GolangFacade präzise Schnittstellenaufrufe implementieren und spezifische Codebeispiele bereitstellen. 1. Was ist der Fassadenmodus? Fassadenmuster sind strukturelle Gestaltungsmuster

Was sind die Designmuster in PHP? Was sind die Designmuster in PHP? Jul 25, 2023 am 09:39 AM

Zu den PHP-Entwurfsmustern gehören: 1. Singleton-Modus, der sicherstellt, dass eine Klasse nur ein instanziiertes Objekt hat. 2. Factory-Modus, der den Instanziierungsprozess des Objekts in einer Factory-Klasse kapselt. 3. Abstrakter Factory-Modus, der a ähnelt Fabrikmuster zum Erstellen von Objekten; 4. Beobachtermuster, das Eins-zu-Viele-Abhängigkeiten zwischen Objekten realisiert; 5. Adaptermuster, das die Schnittstelle einer Klasse in die Schnittstelle einer anderen Klasse umwandelt; 6. Dekoratormuster, das dynamisch einige zusätzliche Funktionen hinzufügt; ein Objekt; 7. Iteratormuster; 9. Vorlagenmethodenmuster usw.

PHP-Kernentwurfsmuster und -praktiken PHP-Kernentwurfsmuster und -praktiken Nov 08, 2023 pm 08:58 PM

Einführung in PHP-Kernentwurfsmuster und -praktiken: Entwurfsmuster sind häufig verwendete Problemlösungsvorlagen in der Softwareentwicklung. Sie bieten eine wiederverwendbare Lösung, die uns dabei helfen kann, während des Entwicklungsprozesses Best Practices und gute Softwaredesignprinzipien einzuhalten. Als weit verbreitete Programmiersprache verfügt PHP auch über viele gängige und nützliche Designmuster, die in der Kernentwicklung verwendet werden können. In diesem Artikel werden mehrere gängige PHP-Entwurfsmuster vorgestellt und relevante Codebeispiele bereitgestellt. 1. Singleton-Modus (Singleton) Der Singleton-Modus ist ein Typ, der nur zulässt

So wenden Sie das Golang-Fassadenmuster an, um die Codearchitektur zu optimieren So wenden Sie das Golang-Fassadenmuster an, um die Codearchitektur zu optimieren Sep 29, 2023 pm 04:30 PM

So wenden Sie das GolangFacade-Muster an, um die Codestruktur zu optimieren 1. Einführung Im Bereich der Softwareentwicklung ist die Optimierung der Codestruktur sehr wichtig. Ein Programm mit gut strukturiertem Code ist nicht nur leicht zu verstehen und zu warten, sondern weist auch eine gute Skalierbarkeit und Wiederverwendbarkeit auf. Als einfache und effiziente Sprache bietet Golang eine Fülle von Tools und Funktionen, die Entwicklern bei der Optimierung der Codestruktur helfen. Eine der gängigen Optimierungsmethoden ist die Verwendung von Entwurfsmustern, wie z. B. dem Fassadenmuster. 2. Was ist der Fassadenmodus?

Einführung in das Golang-Fassadenmuster und seine Anwendungspraxis Einführung in das Golang-Fassadenmuster und seine Anwendungspraxis Sep 28, 2023 am 09:31 AM

Einführung in das GolangFacade-Muster und Überblick über die Anwendungspraxis: Facade ist ein Entwurfsmuster, das eine einfache Schnittstelle zum Ausblenden komplexer Systemsubsysteme bietet. Der Fassadenmodus kann komplexe Logik- und Implementierungsdetails in einer einfachen Schnittstelle kapseln, wodurch das System einfacher zu verwenden und zu warten ist. Hintergrund: In der Softwareentwicklung müssen wir manchmal mehrere Module oder Klassen verwenden, um eine komplexe Aufgabe zu erledigen. Diese Module müssen miteinander zusammenarbeiten, eine solche Zusammenarbeit kann jedoch dazu führen, dass der Code komplex wird

See all articles