我正在从事我的第一个 DDD 项目,我想我了解实体、数据访问对象及其关系的基本角色。我有一个基本的验证实现,它将每个验证规则与其关联的实体一起存储。这适用于仅适用于当前实体的规则,但在需要其他数据时会崩溃。例如,如果我有用户名必须唯一的限制,我希望 IsValid() 调用在存在具有当前名称的现有用户时返回 false。
但是,我没有找到任何干净的方法来将此验证规则保留在实体本身上。我想在实体上有一个 IsNameUnique 函数,但大多数解决方案都需要我注入一个用户数据访问对象。这个逻辑应该在外部服务中吗?如果是这样,我如何仍然与实体本身保持逻辑?还是这应该在用户实体之外?
谢谢!