アプリ全体の eventBus をセル (AbstractCell を拡張するクラス) に注入しています。ValueUpdater を使用する代わりに、他のプレゼンターによって処理されるイベントを起動する方が快適であると考えています。長所/短所はありますか?
1 に答える
1
ValueUpdater
私は、セルが変更された値を更新するという非常に特定の目的を果たす s が好きです。これは、ほとんどの編集可能なセルによって確立される基本的なコントラクトであり、それをオーバーロードするボタン/アクション セルは私を悩ませます。
とはいえ、グローバル イベント バスの使用は行き過ぎかもしれません。いくつかの中間オプション:
- 列/セルごとの EventBus インスタンス (実際には同じことです)。これにより、必要に応じてイベントを非常にローカルにすることも、リッスンしてより高いレベルで再ブロードキャストすることもできます。このアプローチの主な利点の 1 つは、セルが再利用可能であり、API をさまざまなユース ケースのイベントとして公開して使用できることです。
- そのビュー/プレゼンターだけのローカル イベント バス。必要に応じてアプリ全体のイベントをグローバル プレゼンターに昇格させます。最初のオプションよりも再利用性は低くなりますが、多くの場合、コードを再利用可能にする必要はありません。
デバッグを容易にするために、また、特定のビュー/プレゼンターがイベントの使用において非効率的である場合にあまり心配しないようにするために、グローバル イベント バスがあまりにもスパム的になるのが好きではありません。アプリ。最初に構築し、後で最適化する機会を与えます。
于 2012-04-11T23:10:01.867 に答える