zoukankan      html  css  js  c++  java
  • 设计模式学习笔记——代理模式(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();
            }
        }
    

      

  • 相关阅读:
    SpringBoot Mybatis的驼峰命名
    设计模式之单例模式
    Java调用TSC打印机进行打印
    DOM与Jquery方法对照表(versions:Itcast)
    jQuery选择器过滤器
    算法的力量转自李开复
    源码中的相对路径和绝对路径
    C语言I博客作业03
    firstprogram
    C语言I博客作业02
  • 原文地址:https://www.cnblogs.com/ice-baili/p/4729154.html
Copyright © 2011-2022 走看看