Flashアプリ(FlashDevelopを備えたAS3のみ)を構築していますが、イベントシステムの周囲で物事を緩く結合するのに問題があります。私は中央イベントシステムと静的イベントディスパッチャーについて多くのことを読みましたが、それらは私にとっては完全に適合していません。
私が作っているのはビデオプレーヤーに似ています。アプリの他のすべての小さな部分の親であるPlayerクラスがあります。PlayerクラスはSpriteを拡張し、現在、複数のPlayerをインスタンス化してステージに配置できるように設計しています。EventDispatcherを拡張するControllerクラスもあり、このクラスを介してすべてのイベントをディスパッチします。中心的なイベントクラスです。
問題は、他のすべてのクラスがディスパッチしてリッスンできるように、このクラスへの参照を渡す必要があることです。 参照の受け渡しは機能しますが、緩い結合とは正反対です。すべてのクラスが見ることができる静的なEventDispatcherを作成できることは知っていますが、ステージ上に2つまたは3つのプレーヤーがいる場合、すべてのクラスがお互いのイベントを聞くことになります。
参照を渡したり静的にしたりせずに、 Playerインスタンスのすべての子クラスが中央ディスパッチャーを認識できるようにするタイプのサンドボックスを作成するにはどうすればよいですか?