Как именовать объекты, возвращаемые Контроллерами, Службами и Репозиториями?

#spring #naming-conventions

Вопрос:

В Spring MVC у нас есть 3 основные категории объектов: Controllers , Services и Repositories . Я не могу «классифицировать» объекты, возвращаемые этими тремя категориями. Например, репозитории возвращают Entity s, но как я могу назвать объекты, возвращаемые службами и контроллерами?

В реальном проекте, который я разрабатываю, у меня есть репозиторий, возвращающий извлечение из таблицы, поэтому я получаю Entities объекты. В сервисе, где есть логика, мне нужно только вернуть некоторые поля, поэтому мне нужно сопоставить сущности с другой объектной моделью. Позже в контроллере, возможно, мне понадобится представление определенного уровня, например, между «стандартным компьютером» и мобильным, поэтому мне нужен другой тип объекта для отображения результата службы.

Ответ №1:

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

Уровень контроллера

POJO, открытый за пределами приложения, например, думал, что API REST-это DTO (Объект передачи данных), поэтому он обычно находится под dto пакетом, и его имя похоже UserDto

Уровень обслуживания

POJO, который обрабатывает бизнес-логику приложения, называется объектом домена, поэтому он обычно находится под domain пакетом, а имя похоже User на без какого-либо постфикса в имени.

Уровень хранилища

POJO, который содержит данные на уровне сохраняемости, называется entity, поэтому он обычно находится под jpa пакетом, и его имя похоже UserJpa

Комментарии:

1. Спасибо. Так что, похоже, здесь нет никаких условностей, только хорошие привычки.