1. Proxy-Muster
Das Proxy-Muster ist ein häufig verwendetes Java-Entwurfsmuster. Das Merkmal ist, dass die Proxy-Klasse und die Delegate-Klasse dieselbe Schnittstelle haben. Die Proxy-Klasse ist hauptsächlich für die Vorverarbeitung von Nachrichten für die Delegate-Klasse verantwortlich , Filtern von Nachrichten und Weiterleiten von Nachrichten an die Delegatenklasse sowie Nachbearbeiten von Nachrichten usw.
Normalerweise besteht eine Verbindung zwischen Proxy-Klassen und Delegate-Klassen. Das Objekt der Proxy-Klasse selbst implementiert den Dienst nicht, sondern ist durch Aufruf verknüpft das Objekt der Delegate-Klasse zur Bereitstellung eines bestimmten Dienstes.
Je nach Erstellungszeitraum des Agenten kann die Agentenklasse in zwei Typen unterteilt werden:
Statischer Proxy: Von Programmierern oder bestimmten Tools erstellt, generiert er automatisch Quellcode und kompiliert ihn dann. Die .class-Datei der Proxy-Klasse existiert bereits, bevor das Programm ausgeführt wird.
Dynamischer Proxy: Wird mithilfe des Reflexionsmechanismus dynamisch erstellt, wenn das Programm ausgeführt wird.
2. Einzelner statischer Proxy
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
|
Tranc-Start
Kontomethode anzeigen...
Tranc-Ende
3. Mehrere statische Proxys
Basierend auf dem obigen Code, ein neuer
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
|
Protokollstart
Vor der Transaktionsverarbeitung
Kontoansichtsmethode...
Nach der Transaktionsverarbeitung
Protokollende
4. Zusammenfassung
Tatsächlich können Proxy-Klassen verwendet werden, um den Proxy-Effekt durch Vererbung oder Schnittstellenimplementierung zu erzielen. Wenn jedoch mehrere Proxy-Klassen miteinander kombiniert werden müssen, ist die Vererbung nicht flexibel Proxy-Klassen werden ständig neu geschrieben, und die Implementierung von Schnittstellen ist sehr einfach, indem die Proxy-Klassen durch Aggregation kombiniert werden.