Ну для меня (JavaFX):
Я хотел, чтобы показать пользователю в начале приложения, что-то на самом деле происходит в фоновом режиме, так Ofcourse: Preloader является обязательным, в коде я загрузить все базы данных данных о необходимости/получения данных/подготовки предпочтений приложений, а затем ИНИЦИАЛИЗАЦИЯ КОНТРОЛЛЕРА/ПРОСМОТРА.
Я использую несколько методов, чтобы пройти через этот процесс в моей main.Breaking инициализации на несколько частей.
Я вижу вид в качестве последней вещи для дела при запуске приложения.
Javafx имеет хорошую структуру, которая заставляет вас не MESS UP, вы идете через линейный путь инициализации. Я использую главный контроллер и субконтроллеры. Главный контроллер инициализируется параметрами почти каждый раз по мере необходимости, то же самое касается субконтроллеров, когда они не определены внутри fxml.
(я держу один к одному отношениям-каждому файлу FXML (вид) имеет свой собственный контроллер, Additionaly иногда модель, когда данные должны быть приняты и отделено от логики контроллера)
Я использую несколько моделей для некоторой общей информации между контроллерами (одна и та же основная модель/вспомогательные модели)
Я думаю, что вы должны быть более осторожны, как именно вы проходите через процесс инициализации пользовательского интерфейса, если у вас нет fxml с определенными контроллерами, например.
Еще одна вещь, которую я хотел бы сделать, - это иметь статический доступ из основного метода ко всем основным контроллерам/моделям, где я могу напрямую обращаться ко многим важным частям моего кода.
Это то, что я делаю, что заставляет меня избегать кода Сфагетти. Я изучил свои уроки из качели, где мне кажется, что я пытаюсь использовать BRUTE FORCE MVC в моем дизайне, а затем не понимаю мой код.
Я надеюсь, что это поможет вам. В конце концов, по моему мнению, нет ТОЛЬКО ОДНОГО ПРАВИЛЬНОГО ПУТЕМ делать вещи. Личные предпочтения, технологии, которые вы используете, тип создаваемого вами программного обеспечения, являются факторами в этом.
Это GUI конкретный? Или вы имеете в виду «использовать конструктор или статический метод для создания новых экземпляров» в целом? –
есть GUI конкретный. Мне просто любопытно, потому что вы можете сделать это несколькими способами. Просто хотел бы знать, есть ли стандартный или рекомендуемый путь, которому я должен следовать. – Noneedname