gpt4 book ai didi

python - Twisted中的EventListener机制

转载 作者:太空宇宙 更新时间:2023-11-03 19:19:37 25 4
gpt4 key购买 nike

我只是想听听有关正确使用 Twisted 中的 EventListener/EventSubscription 提供程序的想法。大多数示例和扭曲的源通过具有相当硬耦合的特定方法来处理事件。这些事件的调度目标方法被“硬编码”在特定的协议(protocol)类中,然后继承类有责任重写这些方法以接收“事件”。这是非常好的和透明的使用,因为我们在创建协议(protocol)时知道所有潜在的订阅者。然而,在较大的项目中,需要(也许我的心态是错误的)更动态的事件订阅和订阅删除:想象数百个生命周期为一分钟的对象,它们都对同一事件感兴趣。根据“扭曲的方式”实现这一目标的正确方法是什么?我目前已经创建了一个事件订阅/调度机制,但是有一个挥之不去的想法,即扭曲库中缺乏这种模式可能表明有更好的方法。

最佳答案

Twisted有一个包“twisted.words.xish.utility.EventDispatcher”,pydoc就知道用法了,很简单。然而,我认为Twisted的强大之处在于它的“延迟”。您可以将 Deferred 对象视为相关事件(正常,失败)的闭包,回调,回退都是注册观察者函数。 Deferred 具有高级功能,例如可以嵌套。所以在我看来,你可以使用 Twisted 中默认的 EventDispatcher,或者发明一些简单的新功能。但如果你在Twisted中引入一些复杂的机制,它注定会导致困惑和困惑。

关于python - Twisted中的EventListener机制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10223003/

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