Лучшая практика: доступ к DAO, не делая его Singleton - PullRequest
0 голосов
/ 04 марта 2019

У меня есть графический интерфейс JavaFX с классом основного контроллера (в основном это просто оболочка, до сих пор мало что делает) и два встроенных / включенных контроллера для частей графического интерфейса.Это должно держать вещи отдельно и не перегружать класс контроллера.Оба контроллера подключены с использованием класса-посредника, поскольку кнопки в одном из контроллеров влияют на элементы графического интерфейса в другом.

Моя проблема заключается в следующем: взаимодействие с пользователем приведет как к графическим изменениям, так и к изменениям в базе данных.Следовательно, мне, скорее всего, придется обращаться к DAO, которую я создал в разных точках внутри моих классов контроллеров - два в данный момент, но, может быть, еще несколько по мере роста приложения.Я читал, что использование шаблона Singleton для DAO является обычным явлением, но на самом деле это не очень хорошая практика.Следовательно, я ищу альтернативы: как я могу передавать команды в мой DAO из разных точек моей программы, особенно если у меня нет прямого контроля над созданием классов контроллеров (так как они загружаются через загрузчик FXML на <fx:include> команды)?Передача экземпляра здесь кажется трудной.

Заранее большое спасибо!

PS: Я намеренно не размещал здесь никакого кода, потому что большая часть существующего материала не имеет отношения к вопросу идругой код еще не написан (так как в настоящее время планируется :-P).Если вам это нужно, просто дайте мне знать.

...