Cet article décrit le mode proxy statique du modèle de conception Java. Partagez-le pour votre référence, comme suit:
En mode proxy, certaines autres opérations peuvent être attachées à la base d'origine par proxy. Le mode proxy statique est relativement simple et ne nécessite pas de proxyme dynamique lorsque le programme est en cours d'exécution.
Rôles du mode proxy statique:
① Rôle abstrait: une interface commune entre les objets réels et les objets proxy. Ce qui doit être fait dans la déclaration d'objets réels et d'objets proxy.
② Rôle réel: mettre en œuvre des rôles abstraits, définir la logique métier à mettre en œuvre par le rôle réel et être appelé par le rôle de proxy.
③ Rôle de l'agent: met en œuvre les rôles abstraits, est l'agent de rôles réels, met en œuvre des méthodes abstraites à travers les méthodes de logique métier des rôles réels et peut attacher leurs propres opérations.
Voici un exemple simple de code pour les agents d'attente:
1. Rôle abstrait : une interface commune entre les objets réels et les objets proxy. Ce qui doit être fait dans la déclaration d'objets réels et d'objets proxy.
package com.tydic.proxy; / ** * Interface commune entre les rôles réels et proxy * @Author Administrator * * / public abstrait class su le sujet {// Ce que les objets réels et proxy ont besoin de faire un abstrait public void request ();}2. Rôle réel : un rôle abstrait doit être mis en œuvre, ce qui est un objet à proxyer.
package com.tydic.proxy; / ** * Role réel * @Author Administrator * * / public class RealSubject étend le sujet {@Override public void request () {System.out.println ("From Real Subject!"); }}3. Rôle de l'agent : met en œuvre des rôles abstraits et détient une référence à un rôle réel.
package com.tydic.proxy; / ** * Rôle proxy * @Author Administrator * * / public class proxySubject étend le sujet {private realSubject realSubject; // le rôle réel est référencé en interne par le rôle proxy @Override public Void request () {this.preequest (); // l'opération a été jointe avant l'opération d'objet réel if (null ==) = new realSubject (); } realSubject.Request (); // choses terminées par le rôle réel this.PostReQuest (); // Opération jointe après l'opération d'objet réel} private void Prerequest () {System.out.println ("Pre demande!"); } private void postRequest () {System.out.println ("Post Request!"); }}4. Écrivez le code client
package com.tydic.proxy; public class Client {public static void main (String [] args) {sujet sujet = new proxysubject (); sujet.request (); }}Pour plus de contenu lié à Java, les lecteurs qui sont intéressés par ce site peuvent afficher les sujets: "Introduction et tutoriel avancé sur la programmation Java Oriented Oriented", "Tutorial sur la structure de données Java et l'algorithme", "Résumé des compétences de l'opération Java Dom Dom", "Résumé des compétences de l'opération Java et de l'opération de répertoire" et "Résumé de Java Cache Skills"
J'espère que cet article sera utile à la programmation Java de tous.