Maison  >  Article  >  Java  >  Qu'est-ce qu'un proxy en Java

Qu'est-ce qu'un proxy en Java

(*-*)浩
(*-*)浩original
2019-11-13 09:56:273726parcourir

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.

Qu'est-ce qu'un proxy en Java

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn