zoukankan      html  css  js  c++  java
  • 设计模式 代理模式

    代理模式(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();
            }
    客户引用


    代理模式的优点:

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

  • 相关阅读:
    前端之HTML补充
    前端之HTML
    mysql 视图,触发器,存储
    mysql 函数 事务
    索引扩展
    mysql数据库索引相关
    mysql 存储过程查询语句
    mysql 单表查询
    mysql 多表连接查询
    js引入的几种简单写法
  • 原文地址:https://www.cnblogs.com/YuanSong/p/4251466.html
Copyright © 2011-2022 走看看