• 设计模式学习笔记——代理模式(Proxy)


    1.特点:通过代理访问真实对象。

    2.概念:为其它对象提供一种代理以控制对这个对象的访问。

    3.类图:

    4.程序实现:

    /// <summary>
        /// 抽象实体,定义真实实体与代理的公共接口
        /// </summary>
        public interface ISubject
        {
            void Function1();
            void Function2();
        }
    /// <summary>
        /// 真实实体,真正的功能实现者
        /// </summary>
        public class RealSubject:ISubject
        {
    
            public void Function1()
            {
                Console.WriteLine("This is the first function.");
            }
    
            public void Function2()
            {
                Console.WriteLine("This is the second function.");
            }
        }
    /// <summary>
        /// 代理,用来访问真实的实体
        /// </summary>
        public class Proxy : ISubject
        {
            /// <summary>
            /// 保存一个真实实体,用以在代理中访问真实实体的功能。
            /// </summary>
            private RealSubject realSubject;
    
            public Proxy()
            {
                realSubject = new RealSubject();
            }
    
            /// <summary>
            /// 实现与Subject相同的接口,实际调用的是RealSubject的Function1()
            /// </summary>
            public void Function1()
            {
                realSubject.Function1();
            }
    
            /// <summary>
            /// 实现与Subject相同的接口,实际调用的是RealSubject的Function2()
            /// </summary>
            public void Function2()
            {
                realSubject.Function2();
            }
        }
    class Program
        {
            static void Main(string[] args)
            {
                // 实例化代理
                ISubject subjectProxy = new Proxy();
    
                // 通过代理调用具体功能
                subjectProxy.Function1();
                subjectProxy.Function2();
    
                Console.Read();
            }
        }
    

      

  • 相关阅读:
    HTTP与HTTPS的区别
    Linux内核结构体--kfifo 环状缓冲区
    POSIX 线程详解
    linux的fork()函数-进程控制
    HDU 3435 A new Graph Game(最小费用最大流)&amp;HDU 3488
    Memcached安装使用和源代码调试
    结构-01. 有理数比較(10)
    Android:你不知道的 WebView 使用漏洞
    关于文件异步上传
    &lt;二代測序&gt; 批量下载 NCBI sra 文件
  • 原文地址:https://www.cnblogs.com/ice-baili/p/4729154.html
Copyright © 2020-2023  润新知