Как связать логику приложения с UI? - PullRequest
0 голосов
/ 15 июня 2019

У меня следующая проблема.Я написал простое приложение, которое работает как книжный магазин.Я хотел бы написать графический интерфейс для этого приложения.Я начал задаваться вопросом, как мне связать GUI с логикой приложения.

У меня есть класс DBManager, который позволяет мне выполнять некоторые операции, связанные с базой данных: добавление новых сущностей, удаление таблиц и т. Д. Первая идея состоит в том, чтобы поместить экземпляр DBManager в класс GUI, а затем соединитькнопки с методами DBManager.

Я вообще считаю, что класс, отвечающий за GUI, должен взаимодействовать с пользователем приложения.и передать информацию от пользователя другому классу, который будет отвечать за обработку пользовательского запроса и передачу ответа для класса GUI, который покажет результат запроса.Я прав?

1 Ответ

2 голосов
/ 15 июня 2019

То, что вы пытаетесь выяснить, это то, что " архитектурный шаблон " использовать.В вашем случае я предлагаю вам использовать шаблон MVC, который состоит из трех компонентов: Модель, Вид и Контроллер.

Из Википедия :

Модель: Theцентральная составляющая узора.Это динамическая структура данных приложения, независимая от пользовательского интерфейса.Он напрямую управляет данными, логикой и правилами приложения.

Представление: любое представление информации, например диаграммы, диаграммы или таблицы.Возможно несколько представлений одной и той же информации, например, гистограмма для управления и табличное представление для бухгалтеров.

Контроллер: принимает ввод и преобразует его в команды для модели или представления.

Еще одна важная вещь, которую следует учитывать, - это среда, которую вы хотите использовать для создания своего приложения, поскольку она может навязывать вам шаблон для использования.Наиболее часто используемые структуры пользовательского интерфейса для создания полнофункциональных клиентов для Java - это JavaFX и Swing.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...