Witam
Uczę się z książki o wzorach projektowych (przykłady są właśnie w Java), są to proste przykłady, typu kalkulator ale ja zastanawiam się nad jednym:
Przykładowo: Mam aplikację okienkową, mini klient bazy danych, w którym użytkownik wpisuje zapytanie sql i wynik prezentowany jest albo w kolumnie składającej się na pola textowe albo w jtable. Po stronie modelu mamy bazę danych z tabelą osoby, czyli będą tworzone obiekty klasy osoba składające się np z samych stringów.
I teraz użytkownik podaje sql i przesyła go do kontrolera (nie mam pewności gdzie sprawdzić poprawność przesyłanego zapytanie, np porównując go do jakieś maski, czy robić to już w widoku, kontrolerze czy dopiero w modelu, bo w sumie on ma odpowiadać za logikę, jak to jest?). Widok przesyła zapytanie do kontrolera a ten z kolei do modelu, który pobiera dane z bazy i tworzy z nich obiekty/obiekt klasy Osoba.
- Prezentacja wyniku w kolumnie pol textowych.
Czy widok ma posiadać referencję do obiektu klasy Osoba?
Czy model ma wypakować te dane do tablicy stringów i tak przesłać je do widoki, który z aktualizuje po kolei pola textowe? tylko w jaki byłby w tym przypadku sens istnienia obiektu klasy Osoba, sam już nie wiem.
Czy po prostu model przesyła obiekt klasy Osoba, a więc w modelu musi być zadeklarowana referencja do tego obiektu/grup obiektów?.
- Prezentacja danych w JTable.
Czy to w modelu powinno się utworzyć obiekt klasy AbstractTableModel i przesłać go do JTable w widoku, czyli np.
table.setModel(model.getTableModel())
Czy całą obsługę obiektu klasy Osoba zrobić w widoku.
To pewnie banalne kwestię ale ich wyjaśnienie potrzebne mi jest do lepszego zrozumienia tego wzorca.
Pozdrawiam