私は実際のところ、Swing や GUI 設計全般に関する経験はあまりありません (大学のいくつかの WPF アプリケーションは、その高さについてです) が、職場で Swing レガシー アプリケーションの一部をリファクタリングする任務を負っています。
リファクタリングを依頼された部分は、特定の値オブジェクトに応じて 3 つの異なる形式で表示できるポップアップ ウィンドウを中心に展開しています。これら 3 つの異なる形式はすべて、いくつかの基本フィールドを共有し、条件付きで決定される追加のフィールドを持ちます。この GUI 要素を担当するクラスの長さは ~5k であり、3 つのサブクラスに分割する必要があると考えていました。基本クラスの共有要素はすべて拡張されています。ただし、これが正しいアプローチであるかどうかはまったくわかりません。
ボタン/フィールドなどの要素を共有するさまざまなスイングコンポーネントを扱う際に使用される戦略を強調できる人はいますか?
さらに、学習に使用できる大規模な OSS スウィング アプリケーションはありますか?
詳細: 私が取り組んでいるアプリケーションは大規模なレガシー アプリケーションであり、現時点では非常に恐ろしい構造になっています。私はチームに参加したばかりで (かなり最近卒業したので、この分野での経験はあまりありません)、現時点でこのポップアップの表示を担当する巨大なクラスの 1 つを分析するように依頼されました。より保守しやすい小さなコンポーネントに。基本的に、ユーザーが特定のイベントに応答できるようにするポップアップがアプリケーションにあり、応答する必要がある要求のサブタイプに応じて、3 つの異なる外観があります。GUI要素の大部分は、3つのサブタイプすべてで一貫しています。そのため、継承がここで最善のアプローチになるかどうか、またはこれに対処するための他の戦略があるかどうかを知りたいです?