Model

Obj:即真实的数据对象,数据类型、数据结构的定义;

Proxy:对 Obj 的访问、管理等操作,及简单的逻辑;对外部提供访问数据的接口和包装;(参考:Proxy 代理模式)

View

UI:即 UI Prefab;

Mediator:即 mono 脚本;(参考:Mediator 中介者模式)

Controller

Command:即 controller 脚本;(参考:Command 命令模式)

Command 可分为 SimpleCommand(单一命令)和 MacroCommand(宏命令/组合命令)。

Facade

调度中心;所有 View,Controller,Model 通过 Facade 通信,是唯一的通信途径; (参考:Facade 外观模式)

Proxy、Mediator、Facade 均为单例; (参考:Singleton 单例模式)

Observer、Notifier

**** 即 msg_mgr 的实现;(参考:Observer 观察者模式)

Notification

Mediator、Proxy、Command 都可以发送通知。

Proxy —— 只发送不接受Notification

Proxy模式为代理模式,为其他对象提供一种代理,并以控制对这个对象的访问。

Proxy负责收发服务端的消息,也可以在其中写少量逻辑。收到消息后发送Notification到Mediator(view部分),在Mediator可以实例化Proxy发送消息到服务端。