Adaptermodus (Alias Wrapper): Konvertieren Sie die Schnittstelle einer Klasse in die vom Kunden erwartete Schnittstelle einer anderen Klasse. Adapter ermöglichen die Zusammenarbeit von Klassen, deren Schnittstellen ursprünglich inkompatibel sind
Wichtige Punkte:
1. Adaptermuster wird hauptsächlich in „Situationen verwendet, in denen Sie einige vorhandene Klassen wiederverwenden möchten, die Schnittstelle jedoch nicht mit den Anforderungen der Wiederverwendungsumgebung übereinstimmt“, in Bezug auf die Wiederverwendung von Legacy-Code, Klassenbibliothek Migration usw. Sehr nützlich.
2. Das Adaptermuster verfügt über zwei Implementierungsstrukturen: Objekt Adapter und Klassenadapter. Der Klassenadapter übernimmt jedoch die Implementierungsmethode „Mehrfachvererbung “, was im Allgemeinen zu einer unerwünschten hohen Kopplung führt nicht verwendet Empfohlen. Der Objektadapter verwendet die Methode „Objektkombination“, die eher dem Geist der losen Kopplung entspricht.
Implementierung: Strukturdiagramm des Klassenadaptermusters (Vererbung) Struktur des Objektadaptermusters Diagramm (Kombination) (Code-Implementierung des Objektadapters) Ziel: Definiert die vom Client verwendete domänenspezifische Schnittstellepublic interface Target { void request();}
public class Adaptee{ public void specificRequest(){}}
public class Adapter implements Target{ public Adapter(Adaptee adaptee) { super(); this.adaptee = adaptee; } public void request() { adaptee.specificRequest(); } private Adaptee adaptee;}
Verhaltensweisen von Adaptee zu überschreiben (neu zu definieren), da Adapter eine Unterklasse von Adaptee ist.
Für Objektadapter: 1 Erlauben Sie einem Adapter, mit mehreren Adaptees, d. h. dem Adaptee selbst und allen seinen Unterklassen (falls es Unterklassen gibt), gleichzeitig zu arbeiten. Der Adapter kann auch allen Adaptees gleichzeitig Funktionen hinzufügen. 2. Erschwert das Überschreiben (Neudefinieren) des Verhaltens von Adaptee. Wenn Sie die Adaptee-Methode überschreiben müssen, müssen Sie zunächst eine Unterklasse von Adaptee erstellen, um die Adaptee-Methode zu überschreiben, und diese Unterklasse dann als echte Adaptee-Quelle für die Anpassung verwenden.Das obige ist der detaillierte Inhalt vonEinführung in das PHP-Adaptermuster. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!