Definition (Baidu-Enzyklopädie):
In der Computerprogrammierung passt das Adaptermuster (manchmal auch Verpackungsstil oder Verpackung genannt) die Schnittstelle einer Klasse an die Erwartungen des Benutzers an.
Eine Anpassung ermöglicht die Zusammenarbeit von Klassen, die normalerweise aufgrund inkompatibler Schnittstellen nicht zusammenarbeiten würden, indem die eigene Schnittstelle der Klasse in eine vorhandene Klasse eingeschlossen wird.
UML-Klassendiagramm:
Spezifischer Code:
public class Client {public static void main(String[] args) { Adaptee adaptee = new Adaptee(); Adapter adapter = new Adapter(adaptee); adapter.request(); } }public interface Target {void request(); }public class Adaptee {void adapteeRequest() { System.out.println("本类"); } }public class Adapter implements Target { Adapter(Adaptee adaptee) {this.adaptee = adaptee; }private Adaptee adaptee; @Overridepublic void request() { System.out.println("适配类"); adaptee.adapteeRequest(); } }
Beispiele:
Die häufigsten Beispiele für dieses Muster sind verschiedene Adapterschnittstellen beim Anschließen eines Mac Für die Verbindung mit einem Projektor ist normalerweise eine Adapterschnittstelle erforderlich. Dies ist der Adaptermodus.
In tatsächlichen Entwicklungsbeispielen wird das aktuelle System iterativ und Schritt für Schritt entwickelt. Es kann sein, dass dieselbe Funktion zwei oder mehr unterschiedliche Schnittstellen hat später sind fehlerhaft, daher müssen Sie einen Adapter hinzufügen, um die beiden neuen und alten kompatibel zu machen.
Anwendbare Szenarien: Sie möchten eine vorhandene Klasse verwenden, deren Schnittstelle entspricht jedoch nicht Ihren Anforderungen.
Sie möchten eine wiederverwendbare Klasse erstellen, die mit anderen nicht verwandten Klassen oder unvorhergesehenen Klassen (d. h. Klassen, deren Schnittstellen möglicherweise nicht unbedingt kompatibel sind) zusammenarbeiten kann.
Sie möchten einige vorhandene Unterklassen verwenden, aber es ist nicht möglich, jede einzelne Unterklasse so zu unterteilen, dass sie zu ihrer Schnittstelle passt. Der Objektadapter kann sich an die Schnittstelle seiner übergeordneten Klasse anpassen
Vor- und Nachteile:
Vorteile:Bessere Wiederverwendbarkeit und Skalierbarkeit
Die Kombination vieler Adapter macht das System zu unübersichtlich und unübersichtlich.
Zusammenfassung: Der Adaptermodus ist relativ einfach. Er lässt sich in zwei Worten zusammenfassen: Das ist die Essenz dieses Modus besser sein.
Das obige ist der detaillierte Inhalt vonEntwurfsmuster in Java – Adaptermuster. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!