Всем привет.
Ситуация. Есть сущность, есть DTO. Есть фабрика. В метод фабрики инжектится DTO. На основе одного из свойств DTO создается тот или иной объект. Собственно вопрос: а правильно ли в классах DTO юзаться константы сущностей? Просто мне, для того чтобы понять, какую сущность создавать в фабрике необходимо опредлиться с тем, что прилетает в фабрику. Да, как вариант я могу проверять тип прилетаемого объекта. Но интересно мнение других разработчиков.
DTO и Entity. Могут ли дружить
-
- Сообщения: 200
- Зарегистрирован: 2011.03.02, 21:11
Re: DTO и Entity. Могут ли дружить
Проверять тип.
DTO ничего не знает о сущностях, он тупо таскает данные туда-сюда.
DTO ничего не знает о сущностях, он тупо таскает данные туда-сюда.
Re: DTO и Entity. Могут ли дружить
dto в том контексте в котором мы обычно их употребляем (в качестве прослойки между реквестом и следующим слоем) не является понятием доменного или инфраструктурного кода. Фабрика же видимо у вас является частью домена?
В идеале это должно выглядеть так: прилетают данные в экшне, формируем dto, передаем в сервис, в сервисе на основе типа dto выбираем соответствующую фабрику, создаем сущность. Фабрика не принимает DTO, фабрика принимает ДАННЫЕ из DTO.
В идеале это должно выглядеть так: прилетают данные в экшне, формируем dto, передаем в сервис, в сервисе на основе типа dto выбираем соответствующую фабрику, создаем сущность. Фабрика не принимает DTO, фабрика принимает ДАННЫЕ из DTO.
-
- Сообщения: 200
- Зарегистрирован: 2011.03.02, 21:11
Re: DTO и Entity. Могут ли дружить
Так мы ведь с Вами в соседнем топике говорили про DTO и про то, что DTO - часть домена Хотя как по мне это не так. Помните пример с репозиторием, куда передают 10 параметров? Я об этом.zelenin писал(а): ↑2017.01.12, 19:46 dto в том контексте в котором мы обычно их употребляем (в качестве прослойки между реквестом и следующим слоем) не является понятием доменного или инфраструктурного кода. Фабрика же видимо у вас является частью домена?
В идеале это должно выглядеть так: прилетают данные в экшне, формируем dto, передаем в сервис, в сервисе на основе типа dto выбираем соответствующую фабрику, создаем сущность. Фабрика не принимает DTO, фабрика принимает ДАННЫЕ из DTO.
А по поводу проверки типа и прочего - спасибо.
Re: DTO и Entity. Могут ли дружить
я не мог сказать, что DTO - часть домена. Я мог сказать, что DTO - общий паттерн, и может использоваться где угодно, но в контексте DDD обычно имеется в виду DTO слоев Presentation => Application.MaratCrash писал(а): ↑2017.01.13, 00:19Так мы ведь с Вами в соседнем топике говорили про DTO и про то, что DTO - часть домена
Аналогично фабрика - в DDD обычно имеется в виду фабрика, создающая сущность в домене, но вообще фабрика - паттерн общего назначения, применяющийся везде в программировании.
Поэтому следует уточнять контекст использования данных терминов для устранения недопонимания (половина текста всех комментов в этой ветке посвящена именно этому).
не помнюMaratCrash писал(а): ↑2017.01.13, 00:19Помните пример с репозиторием, куда передают 10 параметров? Я об этом.