Maison >Java >Javacommencer >Qu'est-ce qu'un proxy en Java
Proxy en Java est Proxy Pattern, l'un des 23 modèles de conception couramment utilisés en Java. Définition du modèle de proxy : fournissez un proxy pour d'autres objets afin de contrôler l'accès à cet objet.
La fonction principale du modèle de proxy est de fournir un proxy pour d'autres objets afin de contrôler l'accès à cet objet. Dans certains cas, un objet ne veut pas ou ne peut pas référencer directement un autre objet, et l'objet proxy peut jouer un rôle intermédiaire entre le client et l'objet cible. (Apprentissage recommandé : cours java)
L'idée du modèle proxy est d'insérer un objet proxy entre l'objet réel et l'appelant afin de fournir des traitements supplémentaires ou des opérations différentes. Ces opérations supplémentaires nécessitent généralement une communication avec l'objet réel.
Classe d'interface
public interface Italk { public void talk(String msg); }
Classe d'implémentation
public class People implements Italk { public String username; public String age; public String getName() { return username; } public void setName(String name) { this.username= name; } public String getAge() { return age; } public void setAge(String age) { this.age = age; } public People(String name1, String age1) { this.username= name1; this.age = age1; } public void talk(String msg) { System.out.println(msg+"!你好,我是"+username+",我年龄是"+age); } }
Classe proxy
public class TalkProxy implements Italk { Italk talker; public TalkProxy (Italk talker) { //super(); this.talker=talker; } public void talk(String msg) { talker.talk(msg); } public void talk(String msg,String singname) { talker.talk(msg); sing(singname); } private void sing(String singname){ System.out.println("唱歌:"+singname); } }
Application
public class MyProxyTest { /**代理模式 * @param args */ public static void main(String[] args) { //不需要执行额外方法的 Italk people1=new People("湖海散人","18"); people1.talk("No ProXY Test"); System.out.println("-----------------------------"); //需要执行额外方法的 TalkProxy talker=new TalkProxy(people1); talker.talk("ProXY Test","七里香"); } }
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!