1

やや基本的な設計上の問題がありますが、OO 設計の経験があまりないため、適切な解決策を見つけるのに苦労しています。

ユーザーが企業/企業を識別する必要があるフレームがたくさんあるシステムがあります。これを行う 1 つの方法は、ユーザーが会社を選択できるようにする 2 番目のフレームを開くボタンをクリックすることです。選択が完了したら、元のフレームのテキストフィールドで会社のコードと名前を初期化する必要があります。

会社の識別が必要なすべてのフレームでアクションコードを複製するのは、良い設計上の選択ではないと思います。それでも、アクションをトリガーしたフレームへの参照なしでシングルActionListener(または)を作成する方法がわかりません。javax.swing.Action

私の最初のアイデアは、検索サービスを必要とするすべてのフレームに共通のインターフェースを実装することでしたsetCorporation(Corporation corporation)。このようにして、 を作成するときにActionListener、インターフェイスを実装したフレームのインスタンスの参照を渡します。

問題は、このソリューションでは二重参照 ( addActionListener(new SearchAction(this))) が作成され、すべての問題 (クライアントの検索など) に対してインターフェイスを実装する必要があることです。

この種の問題に対する最善のアプローチは何ですか?

4

0 に答える 0