Service 域服务

Service 域服务,service,domainservices,Service,Domainservices,我们已经用DDD设计原则开始了我们的项目,我听说任何需要两个或更多域对象交互的业务逻辑都应该作为域服务来编写 我的问题是。 1.由于我的业务逻辑包括保存多个域或访问多个域对象以进行验证,因此我可以在服务方法内传递存储库,还是可以使用DIContainer进行访问。 2.在操作A的情况下,我将构建列表(包含验证的规范类),并从应用层传递到域服务。因此,我的域服务验证并执行业务逻辑。 3.域服务本身可以使用CRUD操作 我真的很困惑应用程序服务和域服务之间的界限在哪里 我可以得到任何好的样本,其中包

我们已经用DDD设计原则开始了我们的项目,我听说任何需要两个或更多域对象交互的业务逻辑都应该作为域服务来编写

我的问题是。 1.由于我的业务逻辑包括保存多个域或访问多个域对象以进行验证,因此我可以在服务方法内传递存储库,还是可以使用DIContainer进行访问。 2.在操作A的情况下,我将构建列表(包含验证的规范类),并从应用层传递到域服务。因此,我的域服务验证并执行业务逻辑。 3.域服务本身可以使用CRUD操作

我真的很困惑应用程序服务和域服务之间的界限在哪里

我可以得到任何好的样本,其中包括应用程序服务、域服务、域规范以及相关的存储库

问候 Rajesh Kumar.C

答案如下:

实际上,这些规则适用于: 1) 域实体完成这项工作 2) 如果在某些功能中涉及更多的实体,则可更改域服务 3) 不,域层不应该知道任何事情:事务、保存、锁定等。也不应该加载实体。。。如果您需要类似的东西,请使用IneedSomeStuffRepo。接口在域层定义,实现在应用程序内部。服务。通过这种方式,您还可以在使用对象进行操作之前执行锁定,例如IExecutethisfnctolock
4) 保存,事务在应用程序服务端。我通过可达性使用持久性,因此,即使我有一个聚合实体,实体与其他实体相关,也足以保存父实体…

域服务实际上是纯粹的虚构。并非所有内容都适合于实体或值对象