java中的代理模式是什么
java中的代理模式是什么?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
java中代理即Proxy Pattern,23种java常用设计模式之一。代理模式的定义:对其他对象提供一种代理以控制对这个对象的访问。
代理模式的主要作用是为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。
代理模式的思想是为了提供额外的处理或者不同的操作而在实际对象与调用者之间插入一个代理对象。这些额外的操作通常需要与实际对象进行通信。
接口类
public interface Italk { public void talk(String msg);}
实现类
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);}}
代理类
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);}}
应用端
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","七里香");}}
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。