这几乎就是我对它进行建模的方式,除了我会做的 CreateUserService 域服务(并在单独的应用程序服务中处理工作单元)。使用这种方法,我不会太害怕域服务和规范之间的紧密耦合,因为用户名唯一性似乎是源自实际业务域的业务规则(这里是“用户和身份验证”有界上下文) 。
CreateUserService
如果你仍然害怕之间的紧密耦合 CreateUserService 和规范,你确实可以进一步抽象出规范。似乎是合法的,但要记住YAGNI原则。