//抽象类,公共接口
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();
}
}代理者可以在访问被代理之前和之后做一些操作。