Witam, mam pytanie dotyczące MVC. Przeczytałem gdzieś, że listenery powinny być zlokalizowanie w warstwie View i wywoływać odpowiednie metody z warstwy Controller. Czy to prawda? W jaki sposób mogę z View odnieść się do Controllera? Czy View powinno "widzieć" Controller?
0
0
View powinien znać URLe pod które wysłać zapytania. A skoro controller przechwytuje pod konkretnymi ścieżkami, więc jak zmienisz url w controllerze to i w View musi być zmiana.
0
chodzi mi o prostą aplikację w Swingu,
- tworze model:
MyModel model = new MyModel();
- tworzę view:
MyView view = new MyView(model);
- i na końcu controller:
MyController controller = new MyController(model, view);
Jeżeli listenery mam w 'view' to jak w takim przypadku mogę odnieść się do metod klasy 'MyController' ?
EDIT:
A można konstruktorze controllera dodać listenery(poprzez klasę anonimową) do każdego przycisku widoku?
view.getButton().addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
wykonaj metodę z klasy controller
}
});