Size: a a a

Software Design/Architecture/Zen

2021 March 13

К

Карательный отряд... in Software Design/Architecture/Zen
источник

К

Карательный отряд... in Software Design/Architecture/Zen
только без слоя сервиса
источник

ЕР

Евгений Ромашкан... in Software Design/Architecture/Zen
Уууу
источник

ЕР

Евгений Ромашкан... in Software Design/Architecture/Zen
Попёр DDD на голанге
источник

ЕР

Евгений Ромашкан... in Software Design/Architecture/Zen
Извините, не удержался 😅
источник

ЕР

Евгений Ромашкан... in Software Design/Architecture/Zen
Но это не репозиторий, если что
источник

SM

Sergey Milimko in Software Design/Architecture/Zen
Карательный отряд
только без слоя сервиса
Прекращай Эванса читать пока не поздно. У тебя в голове каша.
источник

К

Карательный отряд... in Software Design/Architecture/Zen
Т - токсичность
источник

YZ

Yaroslav Zhymkov in Software Design/Architecture/Zen
Евгений Ромашкан
Человек пытается выборку на чтение сделать. Причём тут модель?
сейчас перечитаю первые сообщения
источник

SM

Sergey Milimko in Software Design/Architecture/Zen
Карательный отряд
Т - токсичность
Вовсе нет. По его книге ты ничего не поймёшь. Начни хотя бы с Вон Вернона.
источник

AP

Andrey Patceev in Software Design/Architecture/Zen
Карательный отряд
только без слоя сервиса
Есть мысль которая к DDD не относится, но может быть полезна. Чем больше логики находится на уровне репозитория тем меньше получится ее протестировать без поднятия инфраструктуры, подготовки данных и прочего. Я люблю репозитории с простыми операциями и бизнес логику на уровне сервиса (композицию, агрегацию и прочее). Но это работает хорошо только если нет жестких требований по производительности.
источник

YZ

Yaroslav Zhymkov in Software Design/Architecture/Zen
Евгений Ромашкан
Человек пытается выборку на чтение сделать. Причём тут модель?
согласен
источник

К

Карательный отряд... in Software Design/Architecture/Zen
Andrey Patceev
Есть мысль которая к DDD не относится, но может быть полезна. Чем больше логики находится на уровне репозитория тем меньше получится ее протестировать без поднятия инфраструктуры, подготовки данных и прочего. Я люблю репозитории с простыми операциями и бизнес логику на уровне сервиса (композицию, агрегацию и прочее). Но это работает хорошо только если нет жестких требований по производительности.
это к сожалению относится только к операциям на выборку данных, все что касается изменений данных требует транзакционности и придется в любом случае опускать на уровень репозитория. Нет особой бизнес логики, просто организация справочника составного обьекта (к примеру)
источник

К

Карательный отряд... in Software Design/Architecture/Zen
Yaroslav Zhymkov
согласен
Спасибо за помощь, тот вопрос не актуален
источник

ЕР

Евгений Ромашкан... in Software Design/Architecture/Zen
Карательный отряд
это к сожалению относится только к операциям на выборку данных, все что касается изменений данных требует транзакционности и придется в любом случае опускать на уровень репозитория. Нет особой бизнес логики, просто организация справочника составного обьекта (к примеру)
Как жаль что Unit Of Work не придумали
источник

К

Карательный отряд... in Software Design/Architecture/Zen
Карательный отряд
Обижаешь) Мы же взрослые люди. Я пытаюсь организовать свой фреймворк для проекта, пришел к выводу что, нужно делать что-то удобное. Структуру можно организовать следующим образом. 1 домен -> 1 контроллер -> 1 сервис(может иметь в зависимостях другие сервисы) -> 1 репозиторий. Допустим доменов 10 штук. У каждого есть свой репозиторий, который реализовывет интерфейс, под капотом интерфейс на свободных функциях, которые экспортируемы в рамках всего проекта. тем самым имеем удобство. Сборку сложных обьектов как раз делать внутри репозитория, а учитывая что все функции свободны нет дублирования кода. эти свободные функции можно как для транзакий так и для атомарных запросов
этот основной вопрос
источник

ЕР

Евгений Ромашкан... in Software Design/Architecture/Zen
Евгений Ромашкан
Как жаль что Unit Of Work не придумали
А вообще и он не нужен. Агрегат - граница консистентности, и за транзакцию в идеале должен обновляться один агрегат
источник

К

Карательный отряд... in Software Design/Architecture/Zen
Евгений Ромашкан
Как жаль что Unit Of Work не придумали
спсибо за новый термин, выглядит как страшный оверхед. На свободных функциях все в разы элекгантнее и проще
источник

YZ

Yaroslav Zhymkov in Software Design/Architecture/Zen
Карательный отряд
Обижаешь) Мы же взрослые люди. Я пытаюсь организовать свой фреймворк для проекта, пришел к выводу что, нужно делать что-то удобное. Структуру можно организовать следующим образом. 1 домен -> 1 контроллер -> 1 сервис(может иметь в зависимостях другие сервисы) -> 1 репозиторий. Допустим доменов 10 штук. У каждого есть свой репозиторий, который реализовывет интерфейс, под капотом интерфейс на свободных функциях, которые экспортируемы в рамках всего проекта. тем самым имеем удобство. Сборку сложных обьектов как раз делать внутри репозитория, а учитывая что все функции свободны нет дублирования кода. эти свободные функции можно как для транзакий так и для атомарных запросов
мне не нравиться жёсткий подход, где слой связан с определённым слоем. при росте кодовой базы тяжело соблюдать границы. я имею в виду, что сервисов может быть больше одного и больше одного репозитория, главное, чтоб границы домена не нарушались. по сути в книге есть понятие контекстов, надо его учитывать.

и второе, что репозиторий должен всегда оперировать сущностями, которая не меняется от параметров выборки.
источник

ЕР

Евгений Ромашкан... in Software Design/Architecture/Zen
Карательный отряд
спсибо за новый термин, выглядит как страшный оверхед. На свободных функциях все в разы элекгантнее и проще
источник