アプリケーションの 2 つの場所で使用されているコンポーネント C があるとします。たとえば、2 つのタブに表示されているフォルダーのリストがあります。ユーザーが一方のフォルダの名前を変更すると、この変更は他方にも反映される必要があります。
これには EventBus を使用し、フォルダー コンポーネントで EventBus イベント (FolderChangedEvent など) を発生させることを考えています。このイベントは、そのフォルダー リストを自動的に更新する 2 番目のフォルダー コンポーネントによってインターセプトされます。
問題は、ある時点でこのフォルダー コンポーネントを 3 番目の場所で使用したい場合、この場所のフォルダー リストも更新されるということです。これは、アプリケーションの望ましい動作ではない可能性があります。
通常は、Folder コンポーネントに独自の addFolderChangedHandler(...) メソッドを持たせますが、このコンポーネントは非常に複雑でサブコンポーネントがあるため、スパゲッティ タイプのコードが作成される可能性があります。ただし、このコンポーネントにアプリケーション固有のロジックを含めて、アプリケーションの EventBus にイベントを直接スローする必要はないと思います。
この場合のベスト プラクティスは何ですか? EventBus を効率的に使用するにはどうすればよいですか?