gpt4 book ai didi

JavaScript Pub/Sub - 消息优先级

转载 作者:数据小太阳 更新时间:2023-10-29 04:50:00 25 4
gpt4 key购买 nike

更多的是讨论而不是问题:

我一直在阅读一篇名为“大型 JavaScript 应用程序架构模式”的文章,到目前为止,它让我大开眼界。

本文的作者提倡使用带有中介/ Controller 的发布/订阅架构。没有给出任何真实世界的例子,但在实际的幻灯片放映 ( http://addyosmani.com/blog/jqcon-largescalejs-2012/ ) 中,他提倡使用“Amplify.js”。

与许多其他发布/订阅实现一样,Amplify 支持消息优先级。我的理解是,有了调解员,就可以减少对消息进行优先排序的需要,因为调解员可以控制何时何地发生的事情。这是一个有效的观点吗?

消息优先级让我害怕,因为当应用程序增长(和变化)时,您最终可能会得到一堆模块,所有模块都在其订阅上设置了不同的优先级,并且无法真正控制正在发生的事情。这是一个合理的担忧,还是仅仅是对它们的实际使用方式的误解?

最佳答案

我会警告不要使用任何复杂版本的发布/订阅。不要考虑优先级,而是考虑 channel ,并假设所有 channel 都是相互独立处理的,没有一个有“优先级”。

另一个警告:不要将您的模块名称用作 channel 名称或 namespace 。如果这样做,您还不如让其他模块直接引用您的模块并直接调用方法。重点是您的模块彼此不了解,也不直接通信。

另一个提示:不要告诉其他模块要做什么。相反,报告发送消息的模块内部发生的事件。这种思维上的微妙转变是保持模块解耦的关键。

关于JavaScript Pub/Sub - 消息优先级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9530570/

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