Size: a a a

Software Design/Architecture/Zen

2021 April 19

MT

Max Trifonov in Software Design/Architecture/Zen
Вот не очень снова понял...
Можешь чуть подробнее написать?
Или хочешь напиши в личку и набери, обсудим точки зрения, голосом бывает быстрее, порой
источник

MT

Max Trifonov in Software Design/Architecture/Zen
Тут не понял что ты имеешь ввиду под потоком
источник

SP

Sergey Protko in Software Design/Architecture/Zen
ему не надо становитсья "частью" агрегата (в целом это звучит как мердж двух уже самодостаточных агрегатов, скорее с сущностями путаешь)
источник

SP

Sergey Protko in Software Design/Architecture/Zen
агрегаты начинают свою жизнь свободными и умирают свободными
источник

SP

Sergey Protko in Software Design/Architecture/Zen
другие агрегаты могут их порождать, но ссылки на них не оставляют. Только идентификаторы.

Агрегат это по сути документ. Они не должны хранить "ссылки" друг на друга. Иначе у тебя вся концепция целостности ломается.
источник

MT

Max Trifonov in Software Design/Architecture/Zen
А как отзыв становится агрегатом?
В каком кейсе?
источник

SP

Sergey Protko in Software Design/Architecture/Zen
агрегат не может стать агрегатом. Он либо уже агрегат или у тебя нет отзыва
источник
2021 April 20

MT

Max Trifonov in Software Design/Architecture/Zen
У  меня складывается ощущение что ты говоришь с отсылкой на хранилище....
Я про логическую связаность,  а не как именно это храниться
источник

MT

Max Trifonov in Software Design/Architecture/Zen
Почему ты считаешь отзыв агрегатом? (Если я правильно понял)
источник

SP

Sergey Protko in Software Design/Architecture/Zen
я тоже про логическую связанность

Агрегат - это партиция данных. То есть у тебя один агрегат должен включать в себя ровно те данные которые требуют имидиейт консистенси. То есть с которыми мы должны работать строго последовательно.
источник

SP

Sergey Protko in Software Design/Architecture/Zen
у тебя там что-то становится частью агрегата. То есть что-то из вне взяло и попало в агрегат. Либо поясни мысль либо я буду думать что ты путаешь сущности и агрегаты
источник

SP

Sergey Protko in Software Design/Architecture/Zen
и нет, я не про то как там чего хранится. Я про то что если у тебя агрегат вдруг хранит ссылку на объект и эта ссылка никак не влияет на стэйт агрегата - нечего этой ссылке там делать.

А если ссылка влияет - то это уже не ссылка должна быть а сам объект. И доступ к этому объекту извне должен быть запрещен. Все строго через aggregate root
источник

SP

Sergey Protko in Software Design/Architecture/Zen
сущность - это что угодно на самом деле. Это буквально "что-то".
источник

MT

Max Trifonov in Software Design/Architecture/Zen
Пример:
Есть сущность Бренд (для товара)
Это агрегат? Или сущность?
источник

SP

Sergey Protko in Software Design/Architecture/Zen
или VO :)
источник

MT

Max Trifonov in Software Design/Architecture/Zen
У тебя Бренды не имею ид? Уникальность определяет по названию и адресу? :)
источник

SP

Sergey Protko in Software Design/Architecture/Zen
сущности можно сравнивать с VO - есть мол у объекта собственная идентичность (стэйт) или нет.
источник

SP

Sergey Protko in Software Design/Architecture/Zen
у меня нет брэндов, но в целом я не вижу ничего страшного в том что бы брэнд идентифицировался по имени.
источник

SP

Sergey Protko in Software Design/Architecture/Zen
это ж брэнд)
источник

MT

Max Trifonov in Software Design/Architecture/Zen
Вопрос контекста
источник