• 设计模式 代理模式


    代理模式(Proxy)为其他对象提供一种代理以控制对先喝个对象的访问。由抽象角色(接口或抽象类声明真实角色的方法)、代理角色(实现抽象类,通过真实角色的方法来实现抽象方法,并可以附加自己的操作)、真实角色(实现抽象角色,定义真实角色所要实现的方法)

        abstract class Subject
        {
            public abstract void Request();
        }
    抽象角色
        class RealSubject : Subject
        {
            public override void Request()
            {
                Console.WriteLine("真实的请求");
            }
        }
    真实角色
        class Proxy : Subject
        {
            RealSubject realSubject;
            public override void Request()
            {
                if (realSubject == null)
                {
                    realSubject = new RealSubject();
                }
                Console.WriteLine("看,灰机!");
                realSubject.Request();
            }
        }
    代理角色
            static void Main(string[] args)
            {
                Proxy proxy = new Proxy();
                proxy.Request();
    
                Console.Read();
            }
    客户引用


    代理模式的优点:

    职责清晰,真实角色只是实现实际的业务逻辑;中介作用,可以用来控制对真实对象的访问权限;可扩展。

  • 相关阅读:
    三范式
    解决Linux下乱码
    ER概念模型
    20140607
    PHP Fatal error: Class 'Yaf_Application' not found
    PHP流式读取XML文件
    php反射的使用
    wget 和curl 进行post数据
    crontab
    Leetcode OJ: Gray Code
  • 原文地址:https://www.cnblogs.com/YuanSong/p/4251466.html
Copyright © 2020-2023  润新知