【Unity与23种设计模式】代理模式(Proxy)
2017-09-06 21:21
579 查看
GoF中定义:
“提供一个代理者位置给一个对象,好让代理者可以控制存取这个对象。”
代理模式多用来优化资源的加载
当资源已经加载过时,使用原来的资源
当资源没有加载过时,开始加载
此过程由代理模式控制
代理模式就像是一个过滤器
只有在一定条件下才可以执行一定的代码
这个条件可以在外部进行控制
//原来的功能类 public abstract class Subject { public abstract void Request(); } public class RealSubject : Subject { public RealSubject() { } public override void Request() { Debug.Log("RealSubject.Request"); } }
//代理 public class Proxy : Subject { RealSubject m_RealSubject = new RealSubject(); public bool ConnectRemote { get; set; } public Proxy() { } public override void Request() { if (ConnectRemote) m_RealSubject.Request(); else Debug.Log("Proxy.Request"); } }
//测试类 public class TestProxy { void UnitTest() { Proxy theProxy = new Proxy(); theProxy.Request(); theProxy.ConnectRemote = true; theProxy.Request(); } }
//测试结果 //Proxy.Request(); //RealSubject.Request();
文章整理自书籍《设计模式与游戏完美开发》 菜升达 著
相关文章推荐
- 【Unity与23种设计模式】代理模式(Proxy)
- 【Unity与23种设计模式】代理模式(Proxy)
- 【结构型模式】代理模式(Proxy)之23种java设计模式
- 23种设计模式之代理模式(结构型,1 Proxy,c++实现)
- Java开发中的23种设计模式之八:代理模式(Proxy)
- java23种设计模式--代理模式(proxy)
- 23种设计模式--代理模式-Proxy
- 23种设计模式之python实现--代理(Proxy)模式
- 23种设计模式之代理模式(Proxy)
- java 23种常用设计模式之代理模式(Proxy)
- 23种设计模式之代理模式(Proxy)
- Java开发中的23种设计模式详解----代理模式(Proxy)
- 23种设计模式-----代理模式(proxy)
- Java23种设计模式案例:代理模式(Proxy)
- java设计模式:动态代理模式 Proxy
- JAVA设计模式- 代理模式(Proxy)
- java设计模式8——代理模式(Proxy)
- 【CDP-云设计模式】第4章,8.缓存代理模式(Cache Proxy Pattern)
- 设计模式之Proxy(代理)
- 设计模式之Proxy(代理)