我知道应该将域逻辑放入域对象中。但是,如果我的域逻辑需要来自数据库的数据怎么办? (例如检查唯一值、计算值等)我认为将存储库注入(inject)我的域对象不是正确的事情。此外,服务层不应包含业务规则。那么如何解决这种业务逻辑呢?

请您参考如下方法:

你是对的,你的域对象不应该直接从数据库中读取数据。这里的经典错误是域对象通过 Web 服务发送并尝试从数据库中读取数据,而它位于服务器上而无法访问数据库。

做这件事有很多种方法:

  • 服务层预加载域对象需要的任何信息
  • 域对象可以调用从数据库中获取数据的帮助程序或存储库

  • 评论关闭
    IT干货网

    微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!