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


    代理模式的优点:

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

  • 相关阅读:
    for ,foreach ,map 循环的区别
    PHP生成验证码图片
    Google自动打印
    MYSQL定时任务
    PHP 多维数组将下标从0开始
    MYSQL常用函数
    PHP 手机短信发送验证码
    php 限制标题长度,将一个中文转换成一个字符
    MYSQL 模糊查询
    MYSQL AND 和 OR
  • 原文地址:https://www.cnblogs.com/YuanSong/p/4251466.html
Copyright © 2011-2022 走看看