So verstehen Sie den Proxy-Modus von Java
Agentenmodus: statischer Proxy
Manchmal möchten wir vielleicht etwas oder jemandem nicht direkt gegenübertreten, also können wir es Finden Sie eine Agentur, die das für uns erledigt, z. B. Geschenke verschicken und Besorgungen machen lassen, eine Reinigungskraft in derselben Stadt finden usw. Auf diese Weise weiß die Gegenpartei nicht, wer hinter dem Vermittler steht, und übernimmt die Rolle eines Vermittlers und schützt das Zielobjekt. Dies ist das Agenturmodell. Das heißt, ein Vermittler erledigt das für Sie.
1. Definition des Proxy-Modus
Aus bestimmten Gründen ist es notwendig, einen Proxy für ein Objekt zur Steuerung bereitzustellen Objektbesichtigung. Zu diesem Zeitpunkt ist das Zugriffsobjekt nicht geeignet oder kann nicht direkt auf das Zielobjekt verweisen, und das Proxy-Objekt fungiert als Vermittler zwischen dem Zugriffsobjekt und dem Zielobjekt #2. Vor- und Nachteile des Agenturmodells
Vorteile:
1 .Spielt eine Mittlerrolle zwischen dem Kunden und dem Zielobjekt und Schützt das Zielobjekt
2 Der Client und das Zielobjekt verursachen eine Verlangsamung der Verarbeitungsgeschwindigkeit
3. Klassifizierung des Proxy-Modus#🎜 🎜#Der Proxy-Modus ist unterteilt in
Statischer Proxy (dieser Artikel)und
Dynamischer Proxy (nächster Artikel):
statisch: # 🎜🎜# Der Programmierer erstellt die Proxy-Klasse oder ein bestimmtes Tool generiert automatisch den Quellcode und kompiliert ihn dann. Die .class-Datei der Proxy-Klasse existiert bereits, bevor das Programm ausgeführt wird.
#🎜🎜 #
Dynamisch:Wird dynamisch mithilfe des Reflexionsmechanismus erstellt, wenn das Programm ausgeführt wird
# 🎜🎜#4. Die Struktur des statischen Proxy-Modus1. Abstrakte Themenklasse: Deklarieren Sie die von realen Themen und Proxy-Objekten implementierten Geschäftsmethoden über Schnittstellen oder abstrakte Klassen
- 2. Reale Themenklasse:
- Realisiert das spezifische Geschäft im abstrakten Thema, das das reale Objekt ist, das durch das Proxy-Objekt dargestellt wird, und das endgültige Objekt, auf das verwiesen wird #🎜 🎜#
3. Proxy-Klasse: Bietet die gleiche Schnittstelle wie das reale Theme, die einen Verweis auf das reale Theme enthält. Sie kann auf die Funktionen des realen Themes zugreifen, diese steuern oder erweitern
- Codedemonstration:
#🎜 🎜#Definieren Sie ein abstraktes Thema:
/**
*抽象主题
*/
public interface Subject {
void Request();
}
Nach dem Login kopieren
/** *抽象主题 */ public interface Subject { void Request(); }
Echtes Thema: #🎜 🎜#/**
*真实主题类:实现抽象主题
*/
public class RealSubject implements Subject{
@Override
public void Request() {
System.out.println("您的航班正在飞行");
}
}
#🎜 🎜#
//代理类,实现抽象类的接口 public class Proxy implements Subject{ private RealSubject realSubject; @Override public void Request() { //先判断是否存在真实主题RealSubject //如果没有,就新建一个 if(realSubject == null){ realSubject = new RealSubject(); } //预处理,使用这个方法 preRequest(); //去访问真实主题类的方法 realSubject.Request(); //代理类的后续方法 postRequest(); } private void preRequest() { System.out.println("航班马上起飞啦"); } private void postRequest() { System.out.println("航班到达目的地,感谢乘坐"); } }
public class Test { public static void main(String[] args) { //使用代理去访问RealSubject里面的Request Proxy proxy = new Proxy(); proxy.Request(); } }
Der Flug startet gleich Ihr Flug fliegt
Der Flug ist am Ziel angekommen , vielen Dank, dass Sie den Flug genommen habenDurch die obige Demonstration wird eine Proxy-Klasse verwendet, um auf die reale Welt zuzugreifen. Die Methode der Themenklasse, sodass die Testklasse nicht weiß, wer greift darauf zu, unabhängig davon, ob es sich um die Proxy-Klasse handelt oder ob andere Personen hinter der Proxy-Klasse stehen, sodass das Objekt gut geschützt werden kann. Darin liegt auch der Vorteil des Agenturmodells.
Zusammenfassung des statischen Proxys:Sie können die Funktion des Ziels erweitern, ohne die Funktion des Zielobjekts, sondern des Proxy-Objekts zu ändern benötigt Es implementiert die gleiche Schnittstelle wie das Zielobjekt, daher gibt es viele Proxy-Klassen, und die Wartungskomplexität wird größer. Dann müssen Sie einen dynamischen Proxy verwenden.
5. Anwendungsszenarien des Proxy-ModusWenn Sie ein Objekt nicht direkt referenzieren können oder wollen oder es Schwierigkeiten beim Zugriff auf ein Objekt gibt, können Sie indirekt über darauf zugreifen ein Proxy-Objekt. Es gibt zwei Hauptzwecke bei der Verwendung des Proxy-Modus:
Einer besteht darin, das Zielobjekt zu schützen, und der andere darin, das Zielobjekt zu verbessernDie Zusammenfassung Auf dieses Anwendungsszenario wird aus dem Internet verwiesen: #🎜 🎜#
Remote-Proxy. Diese Methode wird normalerweise verwendet, um die Tatsache zu verbergen, dass das Zielobjekt an einer anderen Adresse existiert Räume, um den Kundenzugang zu erleichtern. Wenn ein Benutzer beispielsweise Netzwerkspeicherplatz beantragt, wird im Dateisystem des Benutzers eine virtuelle Festplatte erstellt. Wenn der Benutzer auf die virtuelle Festplatte zugreift, greift er tatsächlich auf den Netzwerkspeicherplatz zu 🎜#
#🎜 🎜#Virtueller Proxy, diese Methode wird normalerweise verwendet, wenn das zu erstellende Zielobjekt sehr teuer ist. Das Herunterladen eines großen Bildes dauert beispielsweise lange, und einige Berechnungen sind kompliziert und können nicht in kurzer Zeit abgeschlossen werden. In diesem Fall können Sie zunächst das reale Objekt durch einen kleinen virtuellen Agenten ersetzen, um die Wahrnehmung des Benutzers zu beseitigen ein langsamer Server#🎜 🎜#
Sicherheits-Proxy, diese Methode wird normalerweise verwendet, um die Zugriffsrechte verschiedener Kundentypen auf reale Objekte zu steuernIntelligente Anleitung wird hauptsächlich verwendet, um dem Proxy beim Aufrufen des Zielobjekts einige zusätzliche Verarbeitungsfunktionen hinzuzufügen. Fügen Sie beispielsweise die Funktion zum Zählen der Anzahl der Referenzen auf ein reales Objekt hinzu, sodass das Objekt automatisch freigegeben werden kann, wenn es nicht referenziert wird Leistung des Systems. Beispielsweise kommt es im Ruhezustand zu einem verzögerten Laden von Attributen und zu einem verzögerten Laden von Zuordnungstabellen
Das obige ist der detaillierte Inhalt vonSo verstehen Sie den Proxy-Modus von Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Leitfaden zur perfekten Zahl in Java. Hier besprechen wir die Definition, Wie prüft man die perfekte Zahl in Java?, Beispiele mit Code-Implementierung.

Leitfaden für Weka in Java. Hier besprechen wir die Einführung, die Verwendung von Weka Java, die Art der Plattform und die Vorteile anhand von Beispielen.

Leitfaden zur Smith-Zahl in Java. Hier besprechen wir die Definition: Wie überprüft man die Smith-Nummer in Java? Beispiel mit Code-Implementierung.

In diesem Artikel haben wir die am häufigsten gestellten Fragen zu Java Spring-Interviews mit ihren detaillierten Antworten zusammengestellt. Damit Sie das Interview knacken können.

Java 8 führt die Stream -API ein und bietet eine leistungsstarke und ausdrucksstarke Möglichkeit, Datensammlungen zu verarbeiten. Eine häufige Frage bei der Verwendung von Stream lautet jedoch: Wie kann man von einem Foreach -Betrieb brechen oder zurückkehren? Herkömmliche Schleifen ermöglichen eine frühzeitige Unterbrechung oder Rückkehr, aber die Stream's foreach -Methode unterstützt diese Methode nicht direkt. In diesem Artikel werden die Gründe erläutert und alternative Methoden zur Implementierung vorzeitiger Beendigung in Strahlverarbeitungssystemen erforscht. Weitere Lektüre: Java Stream API -Verbesserungen Stream foreach verstehen Die Foreach -Methode ist ein Terminalbetrieb, der einen Vorgang für jedes Element im Stream ausführt. Seine Designabsicht ist

Anleitung zum TimeStamp to Date in Java. Hier diskutieren wir auch die Einführung und wie man Zeitstempel in Java in ein Datum konvertiert, zusammen mit Beispielen.

Kapseln sind dreidimensionale geometrische Figuren, die aus einem Zylinder und einer Hemisphäre an beiden Enden bestehen. Das Volumen der Kapsel kann berechnet werden, indem das Volumen des Zylinders und das Volumen der Hemisphäre an beiden Enden hinzugefügt werden. In diesem Tutorial wird erörtert, wie das Volumen einer bestimmten Kapsel in Java mit verschiedenen Methoden berechnet wird. Kapselvolumenformel Die Formel für das Kapselvolumen lautet wie folgt: Kapselvolumen = zylindrisches Volumenvolumen Zwei Hemisphäre Volumen In, R: Der Radius der Hemisphäre. H: Die Höhe des Zylinders (ohne die Hemisphäre). Beispiel 1 eingeben Radius = 5 Einheiten Höhe = 10 Einheiten Ausgabe Volumen = 1570,8 Kubikeinheiten erklären Berechnen Sie das Volumen mithilfe der Formel: Volumen = π × R2 × H (4

Spring Boot vereinfacht die Schaffung robuster, skalierbarer und produktionsbereiteter Java-Anwendungen, wodurch die Java-Entwicklung revolutioniert wird. Der Ansatz "Übereinkommen über Konfiguration", der dem Feder -Ökosystem inhärent ist, minimiert das manuelle Setup, Allo
