代理模式实例
//抽象类,公共接口
public interface Subject {
    void Request();
}
//真实对象,被代理对象
using UnityEngine;

public class RealSubject : Subject
{
    public void Request()
    {
        Debug.Log("do something");
    }
}
//代理者
using UnityEngine;

public class Proxy : Subject
{
    private Subject target;

    public Proxy(Subject s)
    {
        target = s;
    }

    public void Request()
    {
        Debug.Log("做事前");
        target.Request();
        Debug.Log("做事后");
    }
}
//测试
using UnityEngine;

public class testProxy : MonoBehaviour {

    private void Start()
    {
        Subject subject = new Proxy(new RealSubject());
        subject.Request();
    }

}

代理者可以在访问被代理之前和之后做一些操作。


首页 我的博客
粤ICP备17103704号