设计模式 - Proxy模式

本文深入探讨了设计模式中的Proxy模式,从实际问题出发,通过代码示例详细解释了其工作原理和使用场景,最后进行了总结,强调了Proxy模式在软件设计中的重要价值。
摘要由CSDN通过智能技术生成

1 问题

1)创建开销大的对象时候,比如显示一幅大的图片,
我们将这个创建的过程交给代理 去完成,
GoF 称之为虚代理(Virtual Proxy);
2)为网络上的对象创建一个局部的本地代理,
比如要操作一个网络上的一个对象(网 络性能不好的时候,问题尤其突出),
我们将这个操纵的过程交给一个代理去完成,GoF  之为远程代理(Remote Proxy);
3)对对象进行控制访问的时候,
比如在 Jive 论坛中不同权限的用户(如管理员、普通 用户等)将获得不同层次的操作权限,
我们将这个工作交给一个代理去完成,GoF 称之为保 护代理(Protection Proxy)。
4)智能指针(Smart Pointer),关于这个方面的内容,
建议参看 Andrew Koenig 的《C++ 沉思录》中的第 5 章。

2 代码

using UnityEngine;
using System.Collections;

namespace Proxy{

    public abstract class Subject{
        public abstract void request();

    }

    public class ConcreteSubject : Subject{
        public override void request(){
            Debug.Log("ConcreteSubject......request ....");
        }
    }

    public class Proxy{

        private Subject sub;

        public Proxy(Subject sub){
            this.sub = sub;
        }

        public void request(){
            Debug.Log("Proxy request....");
            sub.request();
        }
    }

    public class ProxyDemo : MonoBehaviour {

        //代理模式
        void Start(){
            Subject sub = new ConcreteSubject();
            Proxy p = new Proxy(sub);
            p.request();
        }
    }
}

3 总结
这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值