Mode proxy: objet proxy objet réel, dans le but d'améliorer la fonction d'un objet réel
Agent statique: il y a une description fichier de classe mode proxy
Agent dynamique: classe Agent est formé en mémoire
objet proxy et l'objet réel implémenter la même interface
objet proxy = Proxy.newProxyInstance ();
Utilisez un objet proxy pour appeler des méthodes
renforcement
Liste des paramètres amélioré
Améliorer le type de valeur de retour
exécuteur testamentaire logique de mise en valeur
Références: vendre des téléphones mobiles
1. Créez un objet réel
2. Améliorations Agent objets dynamiques Moblie
Trois paramètres:
chargeur de classe objet réel .getClass (). getClassLoader ()
Un tableau d'interfaces objet réel (.getClass). GetInterfaces ()
Processeur nouveau InvocationHandler ()
SaleComputer proxy_Moblie = (SaleComputer) Proxy.newProxyInstance (moblie.getClass (). GetClassLoader (), moblie.getClass (). GetInterfaces (), nouvelle InvocationHandler () {
Le procédé de préparation de la logique proxy: l'objet proxy pour appeler toutes les méthodes déclenche l'exécution du procédé
Trois paramètres:
proxy objet proxy
méthode objet proxy appel de méthode, un objet est encapsulé après le
paramètre args objet proxy réel pour l'appel de méthode, en passant
@Override
publique invocation de l' objet (proxy de l' objet, méthode Méthode, Object [] args) throws Throwable {
Renforcement paramètre args [0]
Utilisez objet réel pour appeler la méthode
Objet obj = method.invoke (moblie, args);
2 amélioré la valeur de retour
retourner xxx;
}
Facile à retenir. . . .