老聚 发表于 2013-1-6 02:21:13

设计模式学习笔记-代理模式

<div id="cnblogs_post_body">1. 概述
  为其它对象提供一种代理以控制对这个对象的访问。
  解决的问题:如果直接访问对象比较困难,或直接访问会给使用者或系统带来一系列问题。这样对于客户端(调用者)来说,就不需要直接与真实对象进行交互,解除了调用者与真实对象的耦合。
2. 模式中的角色
  2.1 抽象实体(Subject):定义了真实实体(RealSubject)和代理(Proxy)的公共接口,这样就在任何时候使用真实实体(RealSubject)的地方使用代理(Proxy)。
  2.2 代理(Proxy):保存一个引用使得代理可以直接访问真实实体,并提供一个与Subject的接口相同的接口,这样代理就可以代替真实实体。
  2.3 真实实体(RealSubject):定义Proxy所代表的真实实体。
3. 模式解读
  3.1 代理模式的类图
  http://pic002.cnblogs.com/images/2012/155937/2012070411012865.png
  3.2 代理模式的代码实现
    3.2.1 抽象实体,定义真实实体与代理的公共接口
<div class="cnblogs_code">    /// <summary>    /// 抽象实体,定义真实实体与代理的公共接口    /// </summary>    public interface ISubject    {      void Function1();      void Function2();    }
页: [1]
查看完整版本: 设计模式学习笔记-代理模式