あなたはJavaはGUIコンポーネント(正確に同じではないが、同じ一般的な考え方)のイベントを扱う鍬し、これを比較すると、あなたのような何かをする羽目になる:
public void addActionListener(ActionListener listener) { }
public void addWindowListener(WindowListener listener) { }
public void addComponentListener(ComponentListener listener) {}
public void addMouseListener(MouseListner listener) {}
*リスナーのすべて物事はインターフェイスです。次に、インターフェイスを実装する1つまたは複数のクラスを提供します(リスナータイプごとに1つのクラスを優先し、他のクラスはすべてのリスナーを実装する単一クラスを優先します)。これは、物事は彼らだけが興味を持っているイベントを登録することができますので、非常に柔軟であることが証明さ
。
代替は、リスナーインタフェースが一つ一つの可能なイベントがあり、単一の「のaddListener(リスナーリスナー)」方法であり、あなたが気にしていない出来事について通知されていることで大丈夫でない限り、それは悪い考えです。
だから、あなたが聞くことができる細かい制御を望んでいると思いますか?そうであれば、Javaモデルはうまく動作します(どちらも気にしないとうまくいきますが、非常に柔軟です)。すべてがすべてのイベントを通知されることを望むと思う場合は、単一の「マスター」方法も有効です。
きめ細かい制御が必要なように聞こえるので、イベントの一般的なカテゴリごとにJavaイベントの方法を使っても問題ありません。
これはWindowsイベントモデルと非常によく似ています。考えてみましょう。 –