小编典典

推荐的Python发布/订阅/分发模块?

python

Pypubsub为您的Python应用程序提供了一种解耦其组件的简单方法:应用程序的某些部分可以发布消息(带有或不带有数据),其他部分可以订阅/接收它们。这允许消息“发件人”和消息“侦听器”彼此不知道:

  • 一个不需要导入另一个
  • 发件人不需要知道
    • “谁”得到消息,
    • 监听者将如何处理数据,
    • 甚至任何侦听器都将获取消息数据。
  • 同样,听众也不必担心消息的来源。

这是用于实现模型-视图-控制器体系结构或任何促进其组件解耦的类似体系结构的好工具。

从PyPubSub到PyDispatcher到简单的“自制”类,似乎有很多Python模块可以在网上浮动发布/订阅。

比较不同的模块时是否有特定的优点和缺点?对哪些模块进行了基准测试和比较?

提前致谢


阅读 215

收藏
2020-12-20

共1个答案

小编典典

PyDispatcherDjango中大量使用,并且对我来说非常有效(我想对于整个Django社区)。

我记得有一些性能问题:

  • PyDispatcher进行的参数检查很慢。
  • 未使用的连接会产生不必要的开销。

据我所知,您不太可能在中小型应用程序中遇到此问题。因此,这些问题可能与您无关。如果您认为需要每一个性能(过早的优化是万恶之源!),则可以查看对Django中PyDispatcher所做的修改。

希望这可以帮助。

2020-12-20