Wzór MVC z wieloma ActionListener
Piszę program z GUI używając wzorca projektowego MVC. Mam pytanie dotyczące korzystania z ActionListeners.
Zgodnie ze wzorem MVC, wszystkie ActionListeners powinny zostać włączone do kontrolera. Normalnie, jak sądzę, zostaną one zaimplementowane w klasach wewnętrznych, takich jak.
Jednak w przypadku wielu przycisków itp. Czy dobrym pomysłem jest przeniesienie tych klas wewnętrznych do oddzielnych plików w tym samym pakiecie? Wiem, że już nie będą klasami wewnętrznymi, więc czy to dobry projekt? A ponieważ musiałbym użyć zmiennej lokalnej z klasy Controller, czy mogę ustawić im domyślny dostęp?
Klasa kontrolera:
public class Controller{
GoogleMaps gMaps = null; // model
GUI gui = null; // view
public Controller(GoogleMaps gMaps, GUI gui) {
super();
this.gMaps = gMaps;
this.gui = gui;
this.gui.addButtonDownListener(new ButtonDownListener(this));
}
}
Klasa ButtonDownLister:
class ButtonDownListener implements ActionListener{
private BudgetController buttonDownListener;
public ButtonDownListener(BudgetController buttonDownListener) {
super();
this.buttonDownListener = buttonDownListener;
}
@Override
public void actionPerformed(ActionEvent e) {
// some ActionEvent handler
}
}