Definition des Adaptermusters
Adaptermuster: Konvertieren Sie die Schnittstelle einer Klasse in eine andere Schnittstelle, die der Kunde wünscht. Das Adaptermuster ermöglicht die Zusammenarbeit von Klassen mit inkompatiblen Schnittstellen
Adapter Pattern:Convert the interface of a class into another interface clients expect.Adapter lets classes work together that couldn't otherwise because of incompatible interface.
Der Alias des Adaptermusters ist das Wrapper-Muster, das entweder als Klassenstrukturmuster oder als Objektstrukturmuster verwendet werden kann. Die in der Adaptermusterdefinition erwähnte Schnittstelle bezieht sich auf eine verallgemeinerte Schnittstelle, die eine Methode oder eine Sammlung von Methoden darstellen kann.
public class Adaptee {public void adapteeMethod(){ System.out.println("适配方法"); } }
public interface Target {/** * 适配的接口 */void adapteeMethod();/** * 新增接口 */void adapterMethod(); }
public class Adapter implements Target{private Adaptee adaptee;public Adapter(Adaptee adaptee) {this.adaptee = adaptee; } @Overridepublic void adapteeMethod() {this.adaptee.adapteeMethod(); } @Overridepublic void adapterMethod() { System.out.println("新增接口"); } }
public static void main(String[] args) { Target target = new Adapter(new Adaptee()); target.adapteeMethod(); target.adapterMethod(); }
Der Orchestrator-Modus umfasst die folgenden drei Rollen:
1: Ziel (abstrakte Zielklasse): Die abstrakte Zielklasse definiert die vom Kunden benötigte Schnittstelle. Es kann sich um eine abstrakte Klasse oder Schnittstelle oder um eine konkrete Klasse handeln. Da die Sprache C# keine Mehrfachvererbung unterstützt, kann es sich bei einem Klassenadapter nur um eine Schnittstelle handeln.
2: Adapter (Adapterklasse): Er kann eine andere Schnittstelle aufrufen und als Konverter zur Anpassung von Adaptee und Target dienen. Es ist der Kern des Adaptermusters.
3: Adaptee (Adapterklasse): Der Adapter definiert eine vorhandene Schnittstelle. Die Adapterklasse deckt die Wünsche des Kunden ab.
Das obige ist der detaillierte Inhalt vonEinführung in die Definition und Verwendung des Adaptermusters. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!