PO
PO (постоянный объект) можно рассматривать как объект Java, сопоставленный с таблицей в базе данных. Самый простой PO соответствует записи в таблице базы данных, а несколько записей могут использовать набор PO. PO не должен содержать никаких операций над базой данных.
Преимущество состоит в том, что запись может рассматриваться как объект и может быть легко преобразована в другие объекты.
PO состоит из набора свойств и методов получения и установки свойств.
PO создается при добавлении новых данных в базу данных и удаляется при удалении данных в базе данных. И PO может выжить только в одном соединении с базой данных, и разъединение будет уничтожено.
PO имеет состояние, и каждый атрибут представляет его текущее состояние, которое является объектным представлением физических данных. Используя его, мы можем отделить нашу программу от физических данных и упростить преобразование между объектными данными и физическими данными.
Атрибуты PO однозначно соответствуют полям таблицы базы данных. Объекты PO должны реализовать интерфейс сериализации.
VO
объект значения Объект значения. Обычно используется для передачи данных между бизнес-уровнями, как и PO, содержит только данные. Но это должен быть абстрактный бизнес-объект, который может соответствовать таблице или нет, в зависимости от потребностей бизнеса.Лично я чувствую, что это то же самое, что и DTO (объект передачи данных), который передается в Интернете.
VO состоит из набора свойств и методов получения и установки свойств.
VO создается с новым ключевым словом и перерабатывается GC.
VO — это объект-значение или бизнес-объект, который находится на бизнес-уровне и используется бизнес-логикой, что означает предоставление места для микроданных.
Свойства VO различаются в зависимости от текущего бизнеса, то есть каждое из его свойств соответствует имени данных, требуемых текущей бизнес-логикой.
DAO
Объект доступа к данным Объект доступа к данным является стандартным шаблоном проектирования j2ee для sun. Этот объект используется для доступа к базе данных. Обычно используемый в сочетании с PO, DAO содержит различные методы работы с базой данных. Благодаря своему методу в сочетании с PO для выполнения связанных операций с базой данных. Зажат между бизнес-логикой и ресурсами базы данных. с ВО, Предоставляет операции CRUD для базы данных.
BO
Бизнес-объект BO (Business Object), объект Java, который инкапсулирует бизнес-логику и объединяет PO и VO для бизнес-операций путем вызова методов DAO. Этот объект может включать в себя один или несколько других объектов.
Например, резюме с образовательным опытом, опытом работы, отношениями и т. д. Мы можем сопоставить образовательный опыт с PO, опыт работы с PO и отношения с PO. Создайте объект BO, соответствующий резюме, для обработки резюме, и каждый BO содержит эти заказы на покупку. Имея дело с бизнес-логикой таким образом, мы можем иметь дело с BO.
Есть три основных понятия о БО:
- Содержит только свойства бизнес-объекта;
- Содержит только бизнес-методы;
- Оба включены.
В реальном использовании не имеет значения, какая концепция верна, главное — удовлетворить потребности вашего собственного проекта в практическом применении
POJO
POJO (Обычный объект Java) — это чисто традиционный объект Java. Другими словами, в некоторых инструментах сопоставления отношений объектов постоянный объект, который может поддерживать записи таблицы базы данных, является полностью чистым объектом Java, который соответствует спецификации Java Bean без добавления других атрибутов и методов, то есть самый простой Java Bean. , только поля атрибутов и методы установки и получения!
- После сохранения POJO становится PO;
- Используйте его для прямой передачи, и это DTO во время процесса передачи;
- Непосредственно для соответствия уровню представления используется VO.
DTO
DTO (Объект передачи данных, Объект передачи данных) в основном используется для удаленных вызовов и других мест, где требуется большое количество объектов передачи. Например, если в нашей таблице 100 полей, то и соответствующий ЗП имеет 100 атрибутов. Однако нам нужно отобразить на интерфейсе только 10 полей, а клиент использует WEB-сервис для получения данных. Нет необходимости передавать клиенту весь PO-объект. В настоящее время мы можем использовать DTO только с этими 10 атрибуты для передачи результата клиенту. Это не будет раскрывать структуру таблицы на стороне сервера. После достижения клиента, если этот объект используется для отображения соответствующего интерфейса, его идентификатор будет изменен на VO. DTO — это простой набор контейнеров для агрегированных данных, которые необходимо передавать через границы процесса или сети. Он не должен содержать бизнес-логику и ограничивать свое поведение такими действиями, как внутренняя проверка согласованности и базовая проверка. Будьте осторожны, чтобы DTO не зависел от каких-либо новых классов, реализуя эти методы. При разработке объекта передачи данных у вас есть два основных варианта: использовать общую коллекцию или создать собственный объект с явными методами получения и установки.
применение
Различные типы объектов используются для разных целей при проектировании архитектуры.Следующая иерархическая архитектура представляет цель каждого POJO. Это делается для того, чтобы каждый уровень мог хорошо инкапсулировать свои собственные службы, эффективно контролировать распространение информации и определять объекты POJO в многоуровневой структуре.
Анализ случая
обсуждает использование POJO на примере. Предположим, у нас есть система интервью со многими вопросами, хранящимися в базе данных, которые обслуживаются через Интернет и API. Могут быть выполнены следующие конструкции:
- Таблица данных: вопросы интервью в таблице включают номер, вопрос, вариант, ответ, время создания, время модификации;
- PO: включая вопросы, варианты, ответы, время создания, время модификации;
- VO: вопрос, вариант, ответ, URL предыдущего вопроса, URL следующего вопроса;
- DTO: номер, вопрос, вариант, ответ, номер предыдущего вопроса, номер следующего вопроса;
- DAO: добавление, удаление, модификация и метод запросов к базе данных;
- BO: Основные бизнес-операции.
Видно, что после разделения POJO мы получаем хорошо спроектированную архитектуру, а модификацию объектов данных на каждом уровне можно полностью контролировать в ограниченном диапазоне.
использованная литература: