一般来说我建议不要这样做。实体就是这样,应该代表核心领域的一些可识别且重要的部分。他们应该承担一项责任,并且非常非常擅长这样做。如果实体需要额外的服务才能完成任务(比如持久化本身),那么您就开始让基础设施之类的东西渗透到您的域中。即使 Invoice 能够计算其帐单价值的概念也不一定是 Invoice 类的责任。它可能需要销售税、运费、客户折扣等信息。一旦您打开这些门并尝试开始将这些项目带入您的发票实体中,它就会成为一切类。领域服务更适合协调实体并向它们提供服务。基础设施服务更适合持久性和外部通信之类的事情。这两种服务都可以通过 IoC 注入其他服务(并鼓励它们本身不会成为臃肿软件)。
| 归档时间: |
|
| 查看次数: |
722 次 |
| 最近记录: |