Re: DDD протаскивание других слоев через параметры методов D
От: gyraboo  
Дата: 28.11.20 08:19
Оценка: 4 (1) +2
Здравствуйте, #John, Вы писали:

J>как вы боритесь с тем, что в методы entity, через параметры, в Domain слой протягиваютя классы из других слоев?


Тут уже много всего правильного написали. Могу рассказать как это обычно делается в Java энтерпрайзе в слоистой архитектуре:
Классы типа Logger не относятся к обычному слою, они относятся к классу т.н. сквозной функциональности, не связанной с бизнес-логикой, а умеющей внедряться в любой слой. Туда же относятся transaction и security менеджеры. Эти классы DI-фреймворк (Спринг или JEE) сам инжектит в поля класса Enity (когда мы помечаем эти поля @Autowired или @Inject), их не надо передавать в явном виде в методах.

Похоже, что в приведенном примере все протягиваемые туда классы относятся либо к сквозной функциональности, либо к слою Util (DateTimeProvider, NumberProvider — это тоже особый случай, а не обычный слой, набор классов или 3-rdparty библиотек, не знающих про бизнес-логику и который могут использовать все обычные слои приложения).

А если возникает задача протащить между слоями именно доменные объекты, то есть паттерн DTO, причём он есть как в анемичной модели так и в DDD.
Отредактировано 28.11.2020 8:21 gyraboo . Предыдущая версия . Еще …
Отредактировано 28.11.2020 8:20 gyraboo . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.