Django 和 Flask 使用信号——后者使用Blinker库。在 Python、Blinker和 Python pubsub库的上下文中,信号和 pubsub 如何比较?我什么时候使用其中一个?
问问题
4851 次
2 回答
6
这可能会明确 Pubsub 与信号的关系:http: //pubsub.sourceforge.net/apidocs/concepts.html
Pubsub 促进了应用程序中组件(可调用对象、模块、包)的解耦。它通过以下方式做到这一点:
- 允许应用程序的一部分向“应用程序的其余部分”发送消息,而无需知道
- 如果消息将被处理:
- 也许该消息将被完全忽略,
- 或由应用程序的许多不同部分处理;
- 如何处理消息:
- 将如何处理消息及其内容;
- 任何给定消息将以什么顺序发送到应用程序的其余部分;
- 允许应用程序的一部分接收和处理来自“应用程序的其余部分”的消息,而无需知道谁发送了这些消息。
侦听器是“应用程序中想要接收消息的一部分”。听众订阅一个或多个主题。发送者是应用程序中要求 Pubsub 发送给定主题的消息的任何部分。发送者提供数据,如果有的话。Pubsub 会将消息(包括任何数据)发送给消息主题的所有侦听器。
于 2011-03-07T01:30:38.710 回答