我有一个关于 pureMvc 的问题。

我使用 pureMvc 来构建一个引擎,在引擎初始化部分我有一个要求

1) moduleA 必须首先初始化

2) moduleB 、 moduleC 在 moduleA 初始化完成后需要初始化。

3) moduleD 需要在 moduleB 和 moduleC 初始化完成后进行初始化。

4) moduleA 、 moduleB 、 moduleC 、 moduleD 都扩展了 Proxy,因为这四个系统都需要发送通知,但不需要监听。

但为了满足要求,我不能使用命令来执行此操作,因为它们有 ini 顺序,而且它们还需要记住当前状态(例如:moudleB 是 init Complate,但 moudleC 不是 init complate,因此无法 init moudleD),但命令是无状态的。

我认为最好的方法是使用一个调解器来做到这一点,因为它既可以监听也可以发送通知。

我的问题是:

1)这是使用一个调解员来做到这一点的好方法吗?

2)如果使用Mediator是个好方法,那么当它听到第一个moduleA is init complate时

registerCommand(FIRST_MODULE_INIT_COMPLATE , initStepTwoCommand);
sendNotification(FIRST_MODULE_INIT_COMPLATE);
removeCommand(FIRST_MODULE_INIT_COMPLATE);

需要这样做,或者只是在中介器中执行 inti 逻辑?

谢谢

有帮助吗?

解决方案

有一个名为 StartUpManager 的实用程序可以解决这个问题。它允许您定义加载依赖项,以便在所需数据可用之前中介器/代理不会注册。这是链接

http://trac.puremvc.org/Utility_AS3_StartupManager

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top