如何处理 在充血模型中实体的方法需要使用当前实体的仓储接口,是通过依赖注入在构造函数中为这个仓储接口赋值,还是在实体方法中进行传参?
或者也可以这样问 仓储接口是通过依赖注入进行传递 那它一般会出现哪里? 现在我们已知的有 领域服务、应用服务,而领域事件里面 应该直接调用领域服务、领域实体的方法不会出现仓储接口,那仓储接口会有可能出现在领域实体的方法中么?如果可能出现,那应该如何处理这个仓储接口 直接在方法中传参? 还是在构造函数中赋值依靠依赖注入从外部进行赋值?如果不会出现,那如何针对于领域实体本身CRUD的操作只能在应用服务中,因为领域服务是处理多对象的情况,这样一来应用服务中select出来 然后交给领域实体的方法update或者其他的 然后又在应用服务中进行Submit 感觉应用服务有点厚了,是不是可以直接在领域实体或者领域值对象中进行持久化操作?
领域实体避免访问Repository接口,让app service和domain service访问repository 接口。
领域实体根据业务需求,可以有类似repository的CRUD操作,仅在内存中执行;真实的持久化操作,在domain service中执行。
– Rickie 3年前