212 похожих чатов

Всем привет! Вопрос по DDD. Для каждой сущности есть свой сервис. Использования сервисов

разных сущностей вместе для реализации какого-нибудь функционала происходит в контроллерах.
Если функционал, где вместе используются разные сущности нужно использовать и в других контроллерах (т.е. повторяющийся код), то на какой уровень можно поднять такой функционал? Выше контроллеров сервисы, но сервис используют только конкретный сущность и репозиторий, для которых они предназначены, и там разместить функционал, которая оперирует несколькими сущностями не могу

7 ответов

11 просмотров

> Использования сервисов разных сущностей вместе для реализации какого-нибудь функционала происходит в контроллерах. Обычно логика сервиса пишется под конкретный сценарий использования. Если переиспользовать сервисы под разные ответственности, то часть логики будет перетекать в слой выше (в твоём случае в контроллеры). А сами сервисы становятся более generic. Поэтому бы рассмотрел другой вариант, не с точки зрения "переиспользования кода", а с точки зрения "отсутсвия дублирования ответственности". Добавь еще один метод в сервис, который будет дублировать код из других сервисов. Пока ответственность не дублируется, в повторяющемся коде нет ничего страшного

> Вопрос по DDD. Только это вопрос не по DDD. В чистой архитектуре можно поискать ответы на эту проблему

TgJs- Автор вопроса
John Doe
> Вопрос по DDD. Только это вопрос не по DDD. В ч...

Буду знать) до конца не разбираю чистый, слоистый, ддд

TgJs
Буду знать) до конца не разбираю чистый, слоистый,...

Могу подсказку дать. Идея DDD изложена во второй части книжки. В первой, где Агрегаты, Энтити и т.п. не DDD, это пример того, как можно, пользуясь идеями второй части, реализовать доменную модель. А можно и не делать доменную модель, можно обойтись транзакционными скриптами, и всё равно юзать идеи DDD из второй части

Есть разные способы 1)Вынести логику в модель - active record 2) DTO (для ORM) и репозиторий общие для базы на уровне data layer В домене модели разные и сервисы соответственно под контроллер ибо логика разная в них может быть Между слоями конверторы для сущностей

Бизнесовая логика в модели, или если точнее ты имел ввиду в сущностях, это не active record же. Обычно под active record имеют ввиду что сущность умеет сама себя сохранять и доставать из базы данных. Если я ничего не путаю.

Блья ✖️➕➖➗
Бизнесовая логика в модели, или если точнее ты име...

Я это и имел ввиду Active Record - можно в микросервисах юзать или с небольших проектах,но если проект большой лучше от них отказаться ибо они в GodObject превращаются со временем

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта