DO, DTO, VO, POJO вы знаете?

Java

DO_DTO_VO_POJOЯвляясь одним из наиболее часто используемых языков программирования в бэкенде, Java имеет многолетнюю историю, и в Alibaba Java также является наиболее широко используемым языком. Во время стажировки в Али слово норма — это то, что я чувствую наиболее глубоко. Нет ни правил, ни кругов, сегодня поговорим о различных О(объектах) в Java.

Почему появляются эти О?

Мы знаем, что это o независимо от того, что их называют, их сущность все еще является объектом (объектом). Поскольку сущность такая же, почему они должны поставить на них различные жилеты? Я лично думаю, что есть три причины: Во-первых, с разработкой программирования индустриализации необходимо появиться разумная система. Китайцы любят создавать богов, иностранцы любят создавать концепции, поэтому появились такие модели программирования, такие как MVC, MVP и MVVM. Для того, чтобы соответствовать использованию этих моделей программирования, функции объектов должны быть разделены, поэтому мы видели эти бесконечные объекты., Конечно, нет намерения критиковать эти концепции здесь. Во-вторых, я думаю, что хороший метод именования может сэкономить много времени и стоимости в кодировке совместной работы команды. какgetItemByIdС первого взгляда вы знаете, что цель состоит в том, чтобы получить предмет по идентификатору,ItemVOС первого взгляда видно, что это объект, соответствующий JSON, предоставленному внешним интерфейсом. В-третьих, такое разделение может сделать структуру проекта более понятной, так что не будет ситуации, когда объекты будут брошены вместе. Избегайте путаницы объектов, когда несколько человек сотрудничают, насколько это возможно. В общем, все дело в том, чтобы сделать программирование более рациональным, более стандартизированным и более эффективным.

Что такое О?

Эти O имеют много производных названий, таких как VO, DO, BO Здесь мы перечисляем распространенные O и объясняем их один за другим.

Следующее содержание относится к Руководству по разработке Java для Alibaba.При необходимости вы можете ответить на «Руководство по разработке Java» в фоновом режиме общедоступной учетной записи WeChat «01 Binary».

  • DO (объект данных): однозначное соответствие со структурой таблицы базы данных, и объект источника данных передается вверх через уровень DAO.
  • PO (постоянный объект): постоянный объект, структура данных PO соответствует структуре таблицы в библиотеке, одна запись в таблице является объектом PO
  • DTO (Объект передачи данных): Объект передачи данных, объект, который Служба или Менеджер передает наружу.
  • BO (Бизнес-объект): бизнес-объект. Объекты, которые инкапсулируют бизнес-логику, экспортируемую уровнем сервиса.
  • АО (объект приложения): объект приложения. Абстрактная повторно используемая объектная модель между веб-уровнем и сервисным уровнем очень близка к уровню отображения, и степень повторного использования невелика.
  • VO (Объект просмотра): Объект слоя отображения, обычно объект, передаваемый из Интернета на уровень механизма рендеринга шаблона.
  • POJO (простой обычный объект Java): POJO относится к простым классам только с setter/getter/toString, включая DO/DTO/BO/VO и т. д.
  • DAO (объекты доступа к данным): объекты доступа к данным, которые отличаются от тех, что указаны выше, используются для манипулирования данными. Обычно не используется для описания объектов данных.

Дано сразу 8 общих О. Вы можете быть немного смущены, просто взглянув на объяснение.Далее, давайте начнем со следующей картинки и интуитивно покажем вам полезность этих О.

поток данных

Мы знаем, что при нормальных обстоятельствах внешний интерфейс не будет создавать данные из воздуха, поэтому данные, отображаемые внешним интерфейсом, должны поступать из базы данных, а поток данных обычно течет из базы данных на страницу. Я разделил его на три части: доступ к данным, бизнес-обработка и бизнес-интерпретация.

  1. Доступ к данным: эта часть используется для чтения данных из базы данных и преобразования записей данных в объекты данных, то есть объекты Java, для упрощения работы.
  2. Бизнес-обработка: эта часть является ядром потока данных, и почти все операции с данными выполняются в этой части.
  3. Объяснение бизнеса: эта часть используется для отображения данных во внешнем интерфейсе, объясняя, что бизнес отражается в некоторых полях/значениях, которые необходимо обработать, прежде чем они будут представлены.

ключевой момент

Сказав так много, разберем следующие ключевые моменты.

  • ДАО дляоперативные данныеа не описание данных.
  • PO/DO/Entity, структура данных которых соответствует записи в таблице данных, поэтому относятся к той же категории.
  • BO можно понимать как комбинацию PO.Для простого примера, если PO является записью транзакции, BO может быть объектом коллекции всех записей транзакций человека.
  • DTO, используемые для передачи данных, могут быть переданы во внешний интерфейс, а также могут быть переданы в другие системы. используется дляДанные на предъявителя.
  • ВО, это лучше всего понятно, как выглядят данные, которые нужны фронтэнду в конце, и соответствующий объект — ВО.

Как использовать эти О?

Сказав так много, как мы должны использовать эти ОС в реальных проектах?

Догматизм?

Прежде всего, эти понятия очень полны, но должны ли мы делать это в соответствии с этим, когда мы его используем? Ответ, конечно, нет, правила мертвы, люди живы. Как мы сказали в начале статьи, причина, по которой вводятся эти понятия, во многом заключается в улучшении опыта программирования, а сложность системы и системы разная, и уровень совместной работы разный.

Опуская схема

  1. Называете ли вы это PO, DO или Entity, объект, используемый для описания записи базы данных, должен существовать и не может быть опущен.
  2. DTO и BO обычно считаются опущенными, если бизнес-система не очень сложна.
  3. VO и DTO, DTO можно использовать для передачи данных во фронтенд, если удалять поля не нужно, VO можно считать опущенным.

Меры предосторожности

Соглашение об именовании модели домена:

  • Объект данных: xxxDO, где xxx — имя таблицы данных.
  • Объект передачи данных: xxxDTO, где xxx — имя, связанное с бизнес-сферой.
  • Показать объект: xxxvo, XXX обычно является веб-именем.
  • POJO — это собирательное имя DO/DTO/BO/VO, и запрещается называть его xxxPOJO.

Наконец

Выше приведено полное содержание этой статьи. Если вы считаете, что эта статья полезна для вас, вы можете обратить внимание и поддержать ее.

В этой статье используетсяmdniceнабор текста