Witam!
Już jakiś czas pisze sobie programy w Javie przy użyciu modelu MVC, lecz zastanawiam się czy robię to poprawnie. Zatem zwracam się do was forumowiczów, w jaki sposób powinno wyglądać osadzenie logiki aplikacji przy użyciu tego wzorca projektowego.
Weźmy za przykład Notatnik, który sobie teraz piszę z wykorzystaniem JavaFX.
Aplikacja składa się z trzech okienek. Jest to: notepad.fxml (główne okno), message.fxml(kominukat o zapisie) oraz font.fxml(wybór czcionki itd). Dla każdego widoku jest jeden kontroler, oprócz tego jedna klasa Modelu Notepad.
A tu mały screen struktury projektu:
I teraz mam wątpliwość co do projektowania aplikacji. Czy główna logika programu (otwieranie plików, zapisywanie ich, tworzenie nowego, wszelkie metody obsługi okien itd) powinna być porozrzucana po tych kontrolerach? Czy mają one być w jednej klasie np. w modelu gdzie potem tylko będę wywoływać odpowiednie metody w kontrolerach?
Obecnie mam aplikacje napisaną w ten sposób, że główna logika znajduje się w modelu Notepad, a kontrolery mają "wstrzyknięty" obiekt notepad i za pomocą tego obiektu wywołuje potrzebne mi metody.
Będę wdzięczny za rady i opinie, razie czego jestem w stanie rzucić kod gdyby była taka potrzeba :)