Unity设计模式之代理模式
来源:互联网 发布:软件app 编辑:程序博客网 时间:2024/06/06 06:44
代理模式(Proxy):为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。
组成:抽象角色:通过接口或抽象类声明真实角色实现的业务方法。
代理角色:实现抽象角色,是真实角色的代理,通过真实角色的业务逻辑方法来实现抽象方法,并可以附加自己的操作。
真实角色:实现抽象角色,定义真实角色所要实现的业务逻辑,供代理角色调用。
老规矩上代码:
首先定义一个抽象任务类,当然也能是接口
abstract class Subject { public abstract void Request(); }
接着是被代理方,也就是请求任务者
class RealSubject :Subject { public override void Request () { Debug.Log ("真是的请求"); } }
然后是代理(Proxy)
class Proxy:Subject { RealSubject realSubject; public override void Request () { if (realSubject == null) { realSubject = new RealSubject (); //如果需要传参则设置RealSubject构造函数即可 } realSubject.Request (); } }
最后依然是客户端代码
class Client :MonoBehaviour { void Start() { Proxy proxy = new Proxy (); proxy.Request (); } }
0 0
- Unity设计模式之代理模式
- 设计模式之代理模式
- 设计模式之代理模式
- 设计模式之代理模式
- 设计模式之代理模式
- 设计模式之-代理模式
- 设计模式之 代理模式
- 设计模式之代理模式
- 设计模式之代理模式
- 设计模式之代理模式
- 设计模式之代理模式
- 设计模式之代理模式
- 设计模式之代理模式
- 设计模式之代理模式
- 设计模式之-----代理模式
- 设计模式之代理模式
- 设计模式之-代理模式
- 设计模式之代理模式
- 1014. Waiting in Line (30)
- Spring TestContext简介
- Android draw9path工具的使用(9格图片)
- 内在美
- 使用MMX/SSE汇编指令集优化视频开发
- Unity设计模式之代理模式
- LeetCode Sort Colors
- 增加及获得元素示例
- 【归纳总结】静态局部变量
- 表达式和语句
- 5-3
- Unknown SSL protocol error in connection to xxx:443
- 15第十二周项目二——摩托车继承自行车和机动车
- linux系统用户,组和权限的管理