Должен ли контроллер создавать объект для сервисного уровня - PullRequest
0 голосов
/ 18 сентября 2019

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

Как я знаю, контроллер должен взаимодействовать с сервисным уровнем с помощью DTO (объекта передачи данных).

При прохождении через уровень обслуживания наш DTO-объект будет отображаться в точный объект, используемый CRUD (для отправки в БД).Это сохранит все внутренности внутри ядра.

Здесь у меня есть небольшая проблема.В каком слое должен быть создан DTO?Допустим, мы переходим к приложению:

Вид -> Контроллер -> Сервис -> ...

Согласно моим сведениям, DTO должен использоваться между Контроллером и Сервисным уровнем.Таким образом, View может создавать объекты DTO для контроллера?Это проблема, потому что на этом уровне у меня нет никакой проверки ввода, и приложение может сломаться (например, взять «a» как int).Одной из идей было создание DTO через статический метод, который сохранял бы проверку данных и: возвращал новый объект DTO ИЛИ возвращал null, если проверка не удалась.

Я пытался быть настолько простым, насколько это возможно.Заранее благодарю за любые ответы и поддержку.

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