1

ツイストで EventListener/EventSubscription プロバイダーを正しく使用する方法についてのアイデアを聞きたかっただけです。ほとんどの例とねじれたソースは、特定のメソッドを介してイベントを処理します。これらのイベントのディスパッチ ターゲット メソッドは、特定の Protocol クラスで「ハードコード」されており、これらをオーバーライドして「イベント」を受け取るのはクラスを継承する義務です。これは、プロトコルを作成するときにすべての潜在的なサブスクライバーを知っている間、使用するのに非常に便利で透過的です. ただし、大規模なプロジェクトでは、より動的なイベント サブスクリプションとサブスクリプションの削除が必要です (おそらく私の考え方が間違っています)。1 分間の寿命を持つ何百ものオブジェクトがすべて同じイベントに関心を持っていると考えてください。「ねじれの方法」に従ってこれを達成する正しい方法は何でしょうか。

4

1 に答える 1

1

Twisted には "twisted.words.xish.utility.EventDispatcher" というパッケージがあり、pydoc で使用法を知ることができます。簡単です。ただ、Twisted の強みはその「Deferred」にあると思います。Deferred オブジェクトは、関連するイベント (問題が発生した場合、問題が発生した場合) の Closure、コールバック、フォールバックが登録されたオブザーバー関数のように見えます。Deferred には、ネストできるなどの高度な機能があります。したがって、私の意見では、Twisted でデフォルトの EventDispatcher を使用するか、単純な新しいものを発明することができます。しかし、複雑なメカニズムを Twisted に導入すると、混乱と混乱が生じる運命にあります。

于 2012-04-19T07:43:17.200 に答える