1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/noear-marsh

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
API_model.md 2.6 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 26.11.2024 21:05 85c531e

Обычно в проектах используются три вида сущностей:

  • Do — сущность, соответствующая таблице данных. Обычно возвращается из слоя Dao (соответствует каталогу model/data).
  • Vo — сущность при выводе из контроллера, обычно возвращается из слоя Controller (соответствует каталогу model/view).
  • Dto — сущность для передачи данных между сервисами. Например, используется при работе с пакетами сторонних интерфейсов (соответствует каталогу model/transfer).

1. Стиль полей сущности

  • Для Do используется прямое соответствие с именем поля таблицы данных. При использовании не требуется использовать атрибуты.
  • Пример неправильного использования: long userId = userDo.getUser_id() — слишком сложно для восприятия.
  • Пример правильного использования: long userId = userDo.user_id.
public class UserDo implements Serializable {
    public long user_id;
}

UserDo userDo = new UserDo();
userDo.user_id = 12;

Если поле таблицы данных уже использует стиль «малый верблюжий», то следует придерживаться этого стиля. Как правило, поля таблиц данных используют стиль xxx_xxx.

  • Dto и Vo используют стиль «малый верблюжий» и доступ через атрибуты.
  • Пример: long userId = userVo.getUserId().
@Setter
@Getter
public class UserVo implements Serializable {
    private long userId;
}

UserVo userVo = new UserVo();
userVo.setUserId(12);

2. Принципы использования классов сущностей

  • Слой Dao должен возвращать Do или List[Do].
  • В слое Service не следует использовать слабые типы, такие как Map. Здесь также должны быть реализованы контроль кэша и контроль транзакций.
  • Контроллер должен возвращать Vo (сильный тип) или Map (слабый тип).
1
https://api.gitlife.ru/oschina-mirror/noear-marsh.git
git@api.gitlife.ru:oschina-mirror/noear-marsh.git
oschina-mirror
noear-marsh
noear-marsh
main