Maison >Java >javaDidacticiel >Comment implémenter le modèle de proxy dans les modèles de conception Java
Définition du modèle de proxy : Pour certaines raisons, il est nécessaire de fournir un proxy à un objet pour contrôler l'accès à l'objet. À ce stade, l'objet d'accès n'est pas adapté ou ne peut pas référencer directement l'objet cible, et l'objet proxy agit comme intermédiaire entre l'objet d'accès et l'objet cible.
1. Le mode proxy joue un rôle d'intermédiaire entre le client et l'objet cible et protège l'objet cible
2. L'objet proxy peut étendre les fonctions de l'objet cible ; peut La séparation du client et de l'objet cible réduit dans une certaine mesure le couplage du système et augmente l'évolutivité du programme
Inconvénients
2. . Sur le client L'ajout d'un objet proxy entre l'objet cible et l'objet cible ralentira la vitesse de traitement des requêtes
3 Augmente la complexité du système
Points de connaissance
Mise en place du mode proxy
Classe de sujet abstrait (Subject) : vendre du vin
Classe de sujet réel (Real Subject) : la taverne de la marraine
Classe de proxy (Proxy) : le stand de vin de Big Ben
Ben est venu installer un stand devant la taverne de sa belle-mère pour vendre du vin.
Vendre du vin
public interface Jiu { void show(); }
La taverne de ma marraine
public class GanNiang implements Jiu { private String name; GanNiang() { } GanNiang(String name) { this.name = name; aa(); } @Override public void show() { System.out.printf("卖出一坛%s", name); } public void aa() { System.out.println("大奔来摆摊了"); } }
Le stand de vin de Da Ben
public class DaBen implements Jiu { private String name; private GanNiang ganNiang; DaBen() { } DaBen(String name) { this.name = name; } @Override public void show() { if (ganNiang == null) { ganNiang = new GanNiang(name); } ganNiang.show(); } }
Test
public class Demo { public static void main(String[] args) { DaBen daBen = new DaBen("女儿红"); daBen.show(); System.out.println(); System.out.println(); daBen.show(); } }
Vous pouvez voir ici que les résultats de la vente du vin pour la première fois et de la vente du vin pour la deuxième fois sont différents, car chaque fois que vous vendez du vin, vous devez vous rendre à la taverne de votre marraine pour obtenir le vin. . Lorsque Da Ben est venu chercher le vin pour la première fois, il a informé sa marraine que j'étais là pour installer le stand. Plus tard, la marraine savait déjà que Da Ben allait venir, il n'était donc pas nécessaire de l'avertir quand il l'aurait reçu. encore le vin.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!