设计模式-代理模式
2014-09-08 17:11
211 查看
在实际开发的时候,我们同样的一个对象,对于不同的客户,可能能够调用的方法是不一样的,就是权限的控制,这个时候,对象的方法都应该是public,那么就要给对象加上一层,通过客户的类型,决定是否可以访问,也就是说,客户不直接访问对象,而是访问给对象加上的这一层,就是代理层。
这样就可以在代理类中,控制对象的访问了,当然代理模式实现方式还有很多种,(远程代理管理客户和远程对象的交互,虚拟代理控制访问实例化开销大的对象,保护代理基于调用者控制对对象方法的访问),上面只是其中的一种方式,代理模式的定义如下:
public interface T1{ public void method(); }; public class Item implements T1{ public void method(); } public class ItemProxy implements T1{ Item item; Client client; public ItemProxy(Client c){ this.Client=c; this.item=new item(); } public void method(){ if (client,allow()){ item.method1(); }else{ return; } } } public class Client{ T1 t; public Client() { t=new ItemProxy(this); } public void method1() { t.method(); } }
这样就可以在代理类中,控制对象的访问了,当然代理模式实现方式还有很多种,(远程代理管理客户和远程对象的交互,虚拟代理控制访问实例化开销大的对象,保护代理基于调用者控制对对象方法的访问),上面只是其中的一种方式,代理模式的定义如下:
代理模式:为另一个对象提供一个替身或占位符以访问这个对象。
相关文章推荐
- 设计模式----Proxy(代理)模式
- 乐在其中设计模式(C#) - 代理模式(Proxy Pattern)
- 乐在其中设计模式(C#) - 代理模式(Proxy Pattern)
- 设计模式 --- 代理模式(Proxy) 精选经验合集
- 深入浅出基于Java的代理设计模式
- 设计模式之Proxy(代理)
- 设计模式与泡mm的关系之Proxy代理模式及代理模式的再思考
- 设计模式(6)-代理模式(Proxy)
- Java设计模式:Proxy(代理)
- 设计模式之Proxy(代理)
- 深入浅出基于Java的代理设计模式
- 设计模式——代理模式
- 设计模式之代理模式(Proxy)
- C#中利用代理实现观察者设计模式
- 设计模式之Proxy(代理)
- 设计模式之Proxy(代理)
- 设计模式之Proxy(代理)
- 设计模式之Proxy(代理)
- 设计模式之Proxy(代理)
- 设计模式(8)-代理模式(Proxy)