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

发布于 2021-01-29 18:21:00

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

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

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

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

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

提前致谢

关注者
0
被浏览
173
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

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

    我记得有一些性能问题:

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

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

    希望这可以帮助。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看