996引擎-源码学习:PureMVC Lua 中的 Facade 类
- 1. 核心概念
- 1.1 外观模式
- 1.2 多例模式
- 2. 关键组件
- Notification
- Controller:
- Model
- View
- 3. 主要功能
- 4. 初始化流程
- 5. 通信机制
- 6. 生命周期管理
- 1. Facade 初始化流程图
- 2. 发送通知时序图
- 中介者 PlayerBestRingLayerMediator
- OpenLayer 打开界面
- 3. 类图
1. 核心概念
1.1 外观模式
Facade
是 PureMVC Lua 框架的核心类
(见名知意,它是一个外观模式)用于为复杂子系统提供一个简单接口。它封装了框架的核心组件(Controller、Model、View
)及其交互逻辑。外观模式将子系统与客户端进行解耦,提高子系统的独立性和可移植性。
1.2 多例模式
Facade
类又采用了 Multiton
模式。(外观+多例)模式
- 独立管理:适用于大型应用,为不同子应用或模块创建各自的
Facade
实例,
如游戏中的主游戏、商城、社交模块,各模块的Command
(命令模式)、Proxy
(代理模式) 和Mediator
(中介模式) 由对应Facade
管理,避免相互干扰 。 - 资源隔离:不同模块的资源,如数据缓存、视图组件等,通过各自的
Facade
实例独立分配管理ÿ