Der Proxy -Muster ist ein Verfahren zum Erzeugen von Computer-Code, auf Proxies beruht auf abstrahieren die interne Funktionalität eines Objekts. Dies wird typischerweise verwendet, um Low-Level- Gerät -spezifischen Code für eine gemeinsame Schnittstelle zu maskieren , so dass eine bestimmte Klasse auf mehreren Plattformen und Geräte verwendet werden. Dies geschieht, um Code Verständnis zu erhöhen und die Programm-Quellcode Portabilität. Auto und Motorrad : Ein Beispiel für die Proxy- Muster würde ein Fahrzeug -Klasse mit zwei Spezialisierungen sein . Das Auto und Motorrad in unterschiedlicher Weise zu beschleunigen, aber wenn sie sich hinter einem "Fahrzeug" Proxy versteckt waren , könnte ein Benutzer rufen "Accelerate " an einem Fahrzeug Objekt , ohne Sorge , wie diese Beschleunigung stattfindet . Identifizieren Proxy Pattern
die verräterischen Zeichen der Proxy- Muster Nutzung ist das Vorhandensein einer signifikanten Anzahl von Interface-Objekte in einer Code-Basis . Diese Schnittstellen ermöglichen es dem Programmierer , um die Umsetzung in eine beliebige Anzahl von Klassen -spezifische Situation verstecken
Verwendung von Proxy- Pattern
Der Proxy Muster erfordert, dass Sie drei Schritte durchführen: .
erstellen eine generische Schnittstelle für ein Segment der Funktionalität , wie die Kommunikation mit einer Datenbank.
erstellen spezifische Kommunikations -Klasse, die die generische Schnittstelle implementiert.
Übergeben Sie eine Instanz der Schnittstelle einem Code-Methode suchen, um mit der Datenbank zu kommunizieren.
der Proxy Implementierung wird angegeben, wenn das Objekt erstellt wird . Im Anschluss daran werden alle Verwendungen des Proxy-Objekt durch die geschaffene Schnittstelle auftreten .
Wann Proxy Pattern
Benutzen Sie können die Proxy- Muster in jeder Situation in dem ein Potenzial Codesegment müssen mit mehreren Systemen , die die gleiche Funktion erfüllen umzugehen. Einige Beispiele sind die Kommunikation mit verschiedenen Datenbank- Management-Systeme , die Nutzung von grafischen Display-Schnittstellen und Verwaltung von Eingabegeräten.