Доменный объект — инкапсулирует инварианты своего состояния (Order не может быть с отрицательной суммой)
Как определить "свое состояние" у сущности, которая участвует в нескольких процессах? Это у процесса есть "контекст" - ограниченное предыдущее состояние "подсистемы" достаточное для выполнения процесса и инварианты окончания процесса. У сущности ничего этого нет.
а в попытке впихнуть туда ВСЮ логику
А как определить - вот эта логика она "уже вся логика" или "еще не вся логика"?
SRP действительно сам себя принуждает — сложность выдавливает логику наружу, из общего в частное.
но SRP это не про абстрагирование, не про общее и не про частное. SRP это про единственный источник причин для изменения.
Ищу ответ на один простой вопрос - а где границы? До какого момент "нечто" это доменный объект, с какого момента он сервис и когда становится доменом?
Доменный объект очень удобная штука, не надо думать над композицией, можно свалить всю логику в доменный объект и назвать это rich model. Но во время длинного пути превращения доменного объекта в целый домен, все мелкие доменные объекты, волшебным образом превращаются в DTO без поведения. Поведение само собой "уезжает" в доменные сервисы. Имхо SRP на "длинных дистанциях" само принуждает себя соблюдать...
Как определить "свое состояние" у сущности, которая участвует в нескольких процессах? Это у процесса есть "контекст" - ограниченное предыдущее состояние "подсистемы" достаточное для выполнения процесса и инварианты окончания процесса. У сущности ничего этого нет.
А как определить - вот эта логика она "уже вся логика" или "еще не вся логика"?
но SRP это не про абстрагирование, не про общее и не про частное. SRP это про единственный источник причин для изменения.
Интересная тема!
Ищу ответ на один простой вопрос - а где границы? До какого момент "нечто" это доменный объект, с какого момента он сервис и когда становится доменом?
Доменный объект очень удобная штука, не надо думать над композицией, можно свалить всю логику в доменный объект и назвать это rich model. Но во время длинного пути превращения доменного объекта в целый домен, все мелкие доменные объекты, волшебным образом превращаются в DTO без поведения. Поведение само собой "уезжает" в доменные сервисы. Имхо SRP на "длинных дистанциях" само принуждает себя соблюдать...