Wpis z mikrobloga

#java #javafx #programowanie
Piszę sobie małą aplikację w JavaFX. Mam model i chcę by był on całkowicie niezależny od FXa, tzn. żadnych StringProperty itp, zwykłe POJO. Po pierwsze dlatego że nie podoba mi się, że warstwa modelu ma cokolwiek wspólnego z GUI, po drugie chcę serializować model, a FXowe Property nie są serializowalne.
Na razie to wygląda tak, że mam interfejs MovieRepository - taki podstawowy CRUD, który mogę sobie dowolnie implementować - np. zrobić proste mockowe repozytorium albo pełnoprawne repozytorium, która mi ładnie wszystko automatycznie serializuje do pliku i vice versa. Teraz chcę żeby to repozytorium ładnie gadało z GUI i jak na razie widzę, że jedyne co mogę zrobić to zaimplementować samemu ObservableList tak by opakowywało moje MovieRepository i ogarniało zmiany itp. Tylko, że ten interfejs ma ponad 30 metod do implementacji. Da się jakoś łatwiej?
  • 4
@Sebaall: Cóż, zapewne jedynym sensownym wyjściem będzie opakowanie klas modelu w odpowiadające im klasy z FXowymi propertiesami, przepisującego dane między nimi a modelem, ewentualnie wrzucenie wszystkiego w widok. Jeśli lubisz podejście MVVM, to jest fajny framework mvvmFX, który przy okazji daje gotowe generyczne rozwiązanie dla takiego przepisywania: ModelWrapper
@Sebaall @akurczak: Natknąłem się na ten problem ucząć się RMI. Można zrobić tak, że Twój model będzie się komunikował z elementami UI przez interface, którego implementacja (też bez propertiesów itd) będzie pośredniczyła między nim a GUI. Do tego robisz sobie kontroler/kontrolery UI już ze wszystkim co dobre w JavaFX, które też komunikują się z głównym kontrolerem przez interface, a on w razie potrzeby popycha zmiany do modelu. Domyślam się, że problemem
k.....e - @Sebaall @akurczak: Natknąłem się na ten problem ucząć się RMI. Można zrobi...

źródło: comment_gkzOmf4VXRObLtiKitx5Gj7izU5Sz6di.jpg

Pobierz