Я ищу советы о том, где добавить правила проверки для доменных сущностей и лучшие практики для реализации. Я искал и не нашел то, что искал, или я пропустил его.
Я хотел бы знать, что рекомендуется для проверки того, что свойства не являются нулевыми, в определенном диапазоне или длине и т.д.... Я видел несколько способов использования IsValid() и других обсуждений по обеспечению соблюдения в конструктор, чтобы сущность никогда не находилась в недопустимом состоянии или использовала предварительную обработку и постобработку, а другие использовали FluentValidation api, как инварианты влияют на DRY и SRP.
Может ли кто-нибудь дать мне хороший пример того, где поставить эти виды чеков, при использовании службы App, ограниченного контекста, службы домена, агрегированного корня, расслоения сущностей. Где это происходит, и каков наилучший подход?
Спасибо.