Українська
Підсумки
Висновки
Графічний застосунок із базою даних розділяють на модель, представлення, контролер, сервіс і DAO так, щоб кожна межа відповідала окремій причині зміни. MVC, MVP і MVVM описують напрям залежностей, а FXML сам по собі не доводить чистоти архітектури. Властивості JavaFX поєднують значення зі спостереженням змін, прив’язки задають залежний стан форми, а слухачів знімають із завершенням життєвого циклу форми. FXMLLoader створює контролер, впроваджує поля й викликає initialize, а фабрика контролерів передає йому сервіс через конструктор. FilteredList і SortedList є поданнями одного джерела, тому дані змінюють у вихідному ObservableList. JDBC-запити виконують у фоновому Task, результат застосовують на FX Application Thread, а кнопки блокують на час операції. Сервіс перевіряє дані незалежно від форми, DAO закриває ресурси, а кілька пов’язаних змін виконують в одній транзакції. Правила тестують без JavaFX, інтеграцію – на виділеній схемі PostgreSQL, а пакет перевіряють на цільовій ОС без паролів усередині.
Підсумкові запитання
- Який шар володіє предметною валідацією?
- Коли FXMLLoader впроваджує поля контролера?
- Чому двонаправлена прив’язка не реалізує Cancel?
- Коли потрібен extractor ObservableList?
- Як SortedList отримує порядок TableView?
- Що дозволено робити всередині Task.call?
- Чому cancel не гарантує rollback?
- Як перевірити FXML і DAO незалежно від особистих даних?