gpt4 book ai didi

javascript - 在消息传递模式架构下与事件一起传递的数据

转载 作者:行者123 更新时间:2023-12-03 10:05:36 25 4
gpt4 key购买 nike

在每个事件的消息中传递模型或集合数据是个好主意吗?例如

messageBus.on('someEvent',modelData);

订阅者接收数据。

或者最好有一种服务(JS 模块),它可以在整个应用程序生命周期中存储和更新模型/集合上的数据,并且应该有一个事件 'data:changed'this.dataa 更新时,每次都会引发。

然后,订阅者将在每个 'data:changed' 上查找服务 this.data 中的更改

第一种方法似乎很方便,因为当我真正不需要服务时,除了模型(BackboneJS)之外不需要创建服务。但是在每个事件上发送数据有什么缺点吗?例如。内存消耗等。

最佳答案

这里的关键问题是耦合。尽量避免依赖。

第二种方法将您的代码与 this.data 变量紧密耦合。这是不好的风格,并且使测试代码变得更加困难。

第一种方法更好,因为数据是作为参数接收的。这意味着您可以为数据更改处理程序编写简单的单元测试来验证行为。

如需进一步建议,我建议研究 Facebook React 中使用的 Flux 设计模式 https://facebook.github.io/flux/docs/overview.html 。它描述了简单的单向基于消息的数据流。

关于javascript - 在消息传递模式架构下与事件一起传递的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30372617/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com