Одна часть вопроса для меня о DTOs/BOs - о том, когда передавать/возвращать DTO и когда передавать/возвращать BOs.Использование DTO и BOs
Моя реакция кишки говорит мне всегда отображать NHibernate в DTO, а не BOs, и всегда передавать/возвращать DTO. Тогда всякий раз, когда мне нужно было выполнять бизнес-логику, я бы превратил мой DTO в BO.
Способ, которым я бы это сделал, заключается в том, что у моего BO будет конструктор, который принимает параметр, который является типом моего интерфейса (который определяет необходимые поля/свойства), который оба моих DTO и BO реализуют как единственные аргумент.
Тогда я смог бы создать свой BO, передав его DTO в конструкторе (поскольку оба с реализацией имеют тот же интерфейс, оба они имеют одинаковые свойства), а затем смогут выполнять мою бизнес-логику с помощью этого BO , У меня также был бы способ конвертировать BO в DTO.
Однако я также видел, где люди, похоже, работают только с BOs и работают только с DTO в фоновом режиме, где пользователю, похоже, нет DTO.
Какие преимущества/недостатки существуют с этой архитектурой и всегда с использованием BO?
Должен ли я всегда передавать/возвращать либо DTO, либо BOs, либо смешивать и сопоставлять (похоже, смешивание и сопоставление могут запутаться)?
Я даже не буду _read_ вашего вопроса, пока вы не разбить его на абзацы. –