Вопрос

Я знаю, что DTO - это объект передачи данных и BO - бизнес-объект. Но что это на самом деле значит? Когда я должен выбрать один над другим? От, то, что я понимаю, Dто только используется для передачи данных и не имеет бизнес-логики. Значит ли это, что не имеет никакого метода только свойств (Getter и Setter)? Но у него все еще есть свойства бо. Может кто-нибудь, пожалуйста, объясните? Спасибо.

Это было полезно?

Решение

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

Бизнес-объект - это умный объект, который содержит данные и методы, которые выполняют операции (изменение данных) на этом объекте. Когда вы выставляете BO в верхний слой, он может вызвать публичные методы вашего объекта. Иногда вы не хотите этого и по этой причине вы создаете DTO, которые предлагают только данные, но не методы.

DTO не должен транспортировать все данные BO. Когда вы следуете строгим подходу DTO, вы создаете определенные DTOS для каждой операции, выставленной на вашем бизнес-уровне. Например, если ваш объект имел аудиторские данные, такие как GUITYBY, MODIDIDYBY, RESTATEDATE и т. Д. И вы создаете метод обновления, ваш неподвижный DTO (с обновленным объектом) не должен иметь эти свойства, потому что верхний слой не может их изменять - только бизнес-логика Отказ

Другие советы

Как правило, DTO имеет относительные статические данные для этого момента до прибытия уровня, но Bo могут динамически держать значение флага и потока; и Бо также можно было бы быть состоит в том, чтобы иметь валидацию или логически реорганизацию или суждение для какой-либо деловой логики; Но изменение DTO зависит от изменения данных, которые проходили ... но изменения BO имеют более широкую область применения, например, зависит от более динамичного обновления с состоянием потока бизнеса, изменение флага, даже идентичность может быть Изменено в режиме реального времени, они предполагают, что они должны быть захвачены и действуют, чтобы отразить от Бо, например, такие как баланс от 200 долларов, становятся нулю или балансом от 2000 до 5000 долларов, тогда личность или статус сделки / торговли изменится ... это Большая разница между Дто и Бо.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top