Опитвам се да разбера основите на дизайна, управляван от домейн. Вчера намерих някакъв код в проект, с който работя, където хранилище върна списък с обекти, т.е. списък getMessages(), където съобщението е обект (има собствен идентификатор и може да се променя). Сега, когато четат за хранилищата в DDD, те са доста конкретни, че хранилището трябва да върне обобщения корен и че всички действия върху агрегата трябва да се извършват чрез извикване на методи в агрегатния корен.
Бих искал да поставя списъка в негов собствен клас и след това просто да върна този клас. Но в моя проект по същество няма нужда да правя това, освен за съответствие с DDD, тъй като показваме само съобщения, добавяме нови или премахваме съществуващо съобщение. Никога няма да се налага да премахваме всички съобщения, така че единствените методи, които ще имаме, са addMessage(...)
, getMessages()
, updateMessage(...)
и removeMessage(...)
, което всъщност прави нашата услуга за домейни.
Някой има ли идеи? Коя е най-добрата практика в DDD, когато става въпрос за описание на агрегати и хранилища?