无废话C#设计模式之九:Proxy
2009-04-02 08:21:16 来源:WEB开发网核心提示: 代码说明l IAccount就是抽象主题角色,代理对象和被代理对象都遵循这个接口,无废话C#设计模式之九:Proxy(2),这样代理对象就能替换被代理对象,l AccountProxy就是代理主题角色,Facade针对封装子系统,转化为高层接口,代理主题通常会存在一些逻辑或预处理或后处理操
代码说明
l IAccount就是抽象主题角色。代理对象和被代理对象都遵循这个接口,这样代理对象就能替换被代理对象。
l AccountProxy就是代理主题角色。代理主题通常会存在一些逻辑或预处理或后处理操作,不会仅仅是对操作的转发。
l Account就是真实主题角色。
何时采用
l 代理模式应用非常广泛,如果你希望降低对象的使用复杂度、或是提升对象使用的友好度、或是提高对象使用的效率都可以考虑代理模式。
实现要点
l 代理对象和被代理对象都遵循一致的接口。
l 在某些情况下,可以不必保持接口一致性,如果封装确实需要损失一些透明度,那么也可以认为是Proxy。
注意事项
l Proxy、Facade以及Adapter可能都是对对象的一层封装,侧重点不同。Proxy基于一致的接口进行封装,Facade针对封装子系统,转化为高层接口,而Adapter的封装是处于适配接口的目的。
系列文章:
无废话C#设计模式之一:开篇
无废话C#设计模式之二:Singleton
无废话C#设计模式之三:Abstract Factory
无废话C#设计模式之四:Factory Method
无废话C#设计模式之五:Prototype
更多精彩
赞助商链接