代理模式——为他人做嫁衣裳

简介: 代理模式——为他人做嫁衣裳

代理(Proxy)模式定义:为其它对象提供一种代理以控制对这个对象的访问。


 代理(Proxy)模式的两个使用场合:


远程代理,为一个对象在不同的地址空间提供局部代表,这样可以隐藏一个对象存在于不同地址空间的事实。

虚拟代理,根据需要创建开销很大的对象,通过它来存放实例化需要很长时间的真实对象,达到性能最优化。

安全代理,用来控制真实对象访问时的权限。

智能指引,当调用真实对象时,代理处理另外一些事。


1.模式的结构

  装饰模式主要包含以下角色。

Subject类:定义RealSubject和Proxy的共用接口,这样使用RealSubject时就可以使用Proxy。


RealSubject类:定义Proxy所代表的真实实体。


Proxy类:保存一个引用使得代理可以访问实体,并提供一个与Subject的接口相同的接口,这样代理就可以用来替代实体。

2.实例代码

  Subject类

    abstract  class SUBJECT
    {
        public abstract void Request();
    }

  RealSubject类

    class RealSubject:SUBJECT 
    {
        public override void Request()
        {
            Console.WriteLine("真实的请求");
        }
    }

  Proxy类

    class Proxy:SUBJECT 
    {
        RealSubject realSubject; 
        public override void Request()
        {
            if(realSubject ==null)
            {
                realSubject = new RealSubject();
           }
            realSubject.Request();
        }
    }

  客户端代码

    class Program
    {
        static void Main(string[] args)
        {
            Proxy proxy = new Proxy();
            proxy.Request();
            Console.ReadLine();
        }
    }
目录
打赏
0
0
0
0
5
分享
相关文章
代理模式与动态代理
代理模式与动态代理
51 0
|
9月前
|
代理模式
代理模式
64 0
代理模式你了解多少
代理模式你了解多少
92 0
我学会了,代理模式
代理模式属于结构型模式,这个类型的设计模式总结出了 类、对象组合后的经典结构,将类、对象的结构和使用解耦了,花式的去借用对象。
107 0
我学会了,代理模式
万洋-什么是代理模式
简介: 影视导演找演员谈合作一般是不会直接找到演员本人,而是先找到演员的经纪人,先由经纪人洽谈,经纪人觉得合适的话就会与演员本人商讨合作事项,这个过程导演与演员是不直接接触的。 这里就用到了**代理模式**,导演其实想找的人是演员,但是要先找到是经纪人,再由经纪人找演员沟通。真正的价值在于演员,但是这个过程中,对于导演来说,经纪人与演员体现出了同样的价值,经纪人会全权代理演员与导演洽谈,经纪人会用自己的专业性过滤掉一些不好的合作意向,从而避免演员被频繁打扰。
140 0
万洋-什么是代理模式
什么是代理模式
影视导演找演员谈合作一般是不会直接找到演员本人,而是先找到演员的经纪人,先由经纪人洽谈,经纪人觉得合适的话就会与演员本人商讨合作事项,这个过程导演与演员是不直接接触的。 这里就用到了**代理模式**,导演其实想找的人是演员,但是要先找到是经纪人,再由经纪人找演员沟通。真正的价值在于演员,但是这个过程中,对于导演来说,经纪人与演员体现出了同样的价值,经纪人会全权代理演员与导演洽谈,经纪人会用自己的专业性过滤掉一些不好的合作意向,从而避免演员被频繁打扰。
590 0
什么是代理模式