私は、内部クラスを使用してUIの観点からすべてのアクションを処理するコントローラー/プレゼンタークラスを1つだけ持っているMVPデザインパターンを実装しながらプロジェクトに取り組んできました(少なくとも私の知る限り)。
public class PresenterClass {
public PresenterClass(ViewClass view) {
view.getButtonComponent().addActionListener(new ButtonListener());
view.getMenuItem().addActionListener(new MenuItemListener());
}
class ButtonListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
//Do some action with the button
}
}
class MenuItemListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
//Do some action with the menu item
}
}
}
新しいクラスリスナーは、それを必要とする新しいコンポーネントごとに作成され、すべてのボタンの単なる一般的なリスナーではないため、私のプロジェクトで起こっている多くの内部クラスになる可能性があることを知っておく価値があります. 私のプロジェクトは大規模ではありませんが、成長しています。完全に管理できないほど大きくなるとは思いませんが、何百もの異なるコンポーネントを処理する必要がある場合、どのように処理できるか考えましたか? したがって、これは次の質問につながります。
MVC または MVP 設計パターンを実装しながら、大規模なスケーラビリティをどのように処理しますか?