[Java] Изображение для понимания PO, BO, VO, DTO, POJO, DAO, DO в Java

Java

image.png

PO (Persistant Object — постоянный объект)

Эта концепция поставляется с ORM и может рассматриваться как объекты Java, которые сопоставляются с таблицами в базе данных. Обычно он соответствует записи в таблице базы данных. PO используется только для представления данных без каких-либо манипуляций с данными. Обычно следует спецификации Java Bean и имеет методы получения/установки.

  • Жизненный цикл ЗП: создается при добавлении новых данных в базу данных и удаляется при удалении данных из базы данных. И он может выжить только в соединении с базой данных, разъединение уничтожается.
  • Роль ПО: запись в таблице данных может рассматриваться как объект и может быть легко преобразована в другие объекты. PO имеют состояние, и каждое свойство представляет его текущее состояние. Используя его, мы можем отделить нашу программу от физических данных и упростить преобразование между объектными данными и физическими данными.
  • Особенности ПО:
    • Атрибуты ПО находятся во взаимно однозначном соответствии с полями таблицы базы данных.
    • Объекты PO должны реализовать интерфейс сериализации
    • После сохранения POJO это PO

BO (Бизнес-объект - Бизнес-объект)

BO используется для представления бизнес-объекта, который включает в себя бизнес-логику, часто инкапсулирует вызовы DAO и RPC и т. д. и может преобразовывать между PO и VO/DTO.

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

DO (Объект домена - Объект домена)

Объекты домена — это материальные или нематериальные бизнес-сущности, абстрагированные от реального мира. Обычно на бизнес-уровне.

VO (Объект значения/Объект представления - Объект значения/Объект представления)

Объект-значение, также известный как бизнес-объект, живет на бизнес-уровне и используется бизнес-логикой. Цель его существования — предоставить место для данных (на самом деле, это чем-то похоже на DO).

Атрибуты VO различаются в зависимости от текущего бизнеса, то есть каждый из его атрибутов соответствует имени данных, требуемых текущей бизнес-логикой.

VO обычно используется для передачи данных между бизнес-уровнями, он содержит только данные. Но это должен быть абстрактный бизнес-объект. В зависимости от потребностей бизнеса он может соответствовать таблице или нет. Создано с новым ключевым словом и переработано GC.


View Object, объект просмотра, используется для уровня представления, его функция состоит в том, чтобы инкапсулировать все данные указанной страницы (или компонента), соответствующие значению всего интерфейса.

DTO (Объект передачи данных — Объект передачи данных)

Концепция DTO исходит из шаблона проектирования J2EE.Первоначальная цель состоит в том, чтобы предоставить объекты данных общего назначения для распределенных приложений EJB, чтобы уменьшить количество распределенных вызовов, тем самым улучшив производительность распределенных вызовов и снизив нагрузку на сеть.

DTO используется для представления объекта передачи данных, обычно используемого для передачи данных между различными службами или разными уровнями служб.

DTO похож на VO, но есть и некоторые отличия.Это отличие в основном основано на концепции дизайна.Например, сервисы API должны использовать DTO, а VO используется для отображения страниц слоев. Например, для удобства представления мужской и женский пол хранятся в поле VO, а такие коды, как 1 или 2, хранятся в DTO.

DAO (объект доступа к данным — объект доступа к данным)

DAO — это стандартный шаблон проектирования J2EE компании SUN.Одним из интерфейсов в этом шаблоне является DAO, который отвечает за работу уровня сохраняемости и предоставляет интерфейс для бизнес-уровня. Этот объект используется для доступа к базе данных. Обычно используется в сочетании с ПО.

DAO содержит методы работы с различными базами данных. Он выполняет операции CRUD в базе данных с помощью своих методов в сочетании с PO.

POJO (Обычный объект Java — простой нерегулируемый объект Java)

POJO представляет собой простой объект Java. PO, VO, DTO — все это типичные POJO.