当前位置:  开发笔记 > 编程语言 > 正文

业务逻辑应该放在域还是服务中?

如何解决《业务逻辑应该放在域还是服务中?》经验,为你挑选了0个好方法。

假设您有一个域实体用户,并且您希望支持用户将项目添加到购物车的功能.现在,我们要确保购物车中的项目是唯一的,因此我们在User类中创建以下函数:

function AddItemToCart(Item item)
{
    // Add business logic to make sure item is unique
}

这非常有效.但是,如果我们现在想要在项目添加到购物车时也通过电子邮件发送给用户呢?我们可以将它添加到AddItemToCart中,但它需要将一些IEmailer依赖项注入User类.

另一种方法是创建一个服务来处理这个事务(例如ShoppingCartService),它将执行业务逻辑并发送电子邮件.然而,这会导致一个相当贫乏的领域(即用户类只不过是getter/setters)

推荐阅读
我我檬檬我我186
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有