设计模式(六)代理模式
代理模式
为其他类提供一个间接控制这个对象的方式。
使用场合:
- 远程代理:可以使用代理,将不同地址空间事实隐藏。
- 虚拟代理:可以控制使用类的创建,方便处理创建开销大的类。
- 安全代理:可以控制直接访问的权限。
class Visitor
{
public void Visit(Proxy proxy)
{
proxy.ProxyExecute();
}
}
class Proxy
{
private Executor executor; // 控制
public void ProxyExecute()
{
if (executor != null)
{
executor = new Executor();
}
executor.Excute();
}
}
class Executor
{
public void Excute()
{
Debug.LogFormat("Excute!");
}
}
private void Awake()
{
Visitor visitor = new Visitor();
Proxy proxy = new Proxy();
visitor.Visit(proxy);
}