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

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

代理(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();
        }
    }
相关文章
|
2月前
|
设计模式 缓存 C#
C# 一分钟浅谈:装饰者模式与代理模式
【10月更文挑战第12天】本文介绍了面向对象编程中的两种常见设计模式:装饰者模式和代理模式。装饰者模式允许在运行时动态地给对象添加功能,而代理模式则通过代理对象控制对另一个对象的访问。文章详细讲解了这两种模式的概念、常见问题、如何避免问题以及代码示例,帮助读者更好地理解和应用这些设计模式。
44 13
|
5月前
|
设计模式
对于装饰器模式与代理模式的个人理解
摘要: 代理模式与装饰器模式虽相似,但目的不同。装饰器动态增强对象功能,如添加新特性,而不改变原有类。代理模式则用于控制访问,如优化昂贵操作或添加辅助服务(如日志),它可能在内部初始化原对象。用法上,装饰器由外部决定是否应用,允许链式创建,而代理通常内部调用,外部直接与代理交互,被代理对象可能独立不可用。
|
7月前
|
缓存 数据安全/隐私保护 C++
【C++】—— 代理模式
【C++】—— 代理模式
|
7月前
|
设计模式 Java
代理模式与动态代理
代理模式与动态代理
48 0
|
7月前
|
Java Spring
代理模式
代理模式
58 0
|
Java 网络安全 Maven
代理模式的运用
代理模式的运用
67 0
|
设计模式 JavaScript
关于代理模式我所知道的
关于代理模式我所知道的
89 0
|
Java Spring
代理模式你了解多少
代理模式你了解多少
84 0
|
设计模式 缓存 监控
我学会了,代理模式
代理模式属于结构型模式,这个类型的设计模式总结出了 类、对象组合后的经典结构,将类、对象的结构和使用解耦了,花式的去借用对象。
101 0
我学会了,代理模式
|
存储 设计模式 缓存
万洋-什么是代理模式
简介: 影视导演找演员谈合作一般是不会直接找到演员本人,而是先找到演员的经纪人,先由经纪人洽谈,经纪人觉得合适的话就会与演员本人商讨合作事项,这个过程导演与演员是不直接接触的。 这里就用到了**代理模式**,导演其实想找的人是演员,但是要先找到是经纪人,再由经纪人找演员沟通。真正的价值在于演员,但是这个过程中,对于导演来说,经纪人与演员体现出了同样的价值,经纪人会全权代理演员与导演洽谈,经纪人会用自己的专业性过滤掉一些不好的合作意向,从而避免演员被频繁打扰。
129 0
万洋-什么是代理模式