.NET 代理(Proxy)模式

目录

  1. 定义
  2. UML
  3. 参与者
  4. 示例

定义:

代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。

UML:

参与者:

抽象主题(Subject)角色:

声明了代理主题和真实主题的公共接口,使任何需要真实主题的地方都能用代理主题代替.

具体主题(RealSubject)角色:

实现抽象主题角色的具体对象。

代理主题(Proxy)角色:

含有真实主题的引用,从而可以在任何时候操作真实主题,代理主题功过提供和真实主题相同的接口,使它可以随时代替真实主题.代理主题通过持有真实主题的引用,不但可以控制真实主题的创建或删除,可以在真实主题被调用前进行拦截,或在调用后进行某些操作.

示例:

代码

Output

Called RealSubject.Request()

实际运用:

代码

Output

4 + 2 = 6
4 - 2 = 2
4 * 2 = 8
4 / 2 = 2


作者:dingli
出处:http://www.cnblogs.com/dingli/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

原文地址:https://www.cnblogs.com/dingli/p/2260875.html