如何处理这种循环依赖?
How to handle this cycle dependency?
我有这样的设计:
- UI层
- 组件层。
想法是所有事件处理程序,如点击,绘制 dom 将击中 UI 层,该层将调用相应的组件层。
现在假设点击一个按钮,ui 层调用组件层,所以依赖关系如下所示:
define(['creationComponent']) //ui layer module
以便在单击按钮时,该模块可以调用 creationComponent
方法。
现在creationComponent
也是,为了画东西,调用ui层,所以creationComponent
看起来像这样:
define(['uiLayer']) //create module
这里我使用依赖循环,我在设计过程中哪里出错了?
我认为 UI 层不应该在某些事件发生时真正 调用 组件层。它应该发送一个事件。你可以在这里使用观察者模式。它发送事件后,它应该不关心它是否被处理。
当组件需要绘制自己时,我想这里应该发生一个实际的调用,因为这个动作不能被遗忘并且它的处理不能被跳过。
我有这样的设计:
- UI层
- 组件层。
想法是所有事件处理程序,如点击,绘制 dom 将击中 UI 层,该层将调用相应的组件层。
现在假设点击一个按钮,ui 层调用组件层,所以依赖关系如下所示:
define(['creationComponent']) //ui layer module
以便在单击按钮时,该模块可以调用 creationComponent
方法。
现在creationComponent
也是,为了画东西,调用ui层,所以creationComponent
看起来像这样:
define(['uiLayer']) //create module
这里我使用依赖循环,我在设计过程中哪里出错了?
我认为 UI 层不应该在某些事件发生时真正 调用 组件层。它应该发送一个事件。你可以在这里使用观察者模式。它发送事件后,它应该不关心它是否被处理。
当组件需要绘制自己时,我想这里应该发生一个实际的调用,因为这个动作不能被遗忘并且它的处理不能被跳过。