2
在执行DDD时是否应该模拟实体和值对象?
阅读后几 文章约Newable VS 注射对象以及如何将这些概念涉及到DDD的服务,实体和值对象,我留下了有关使用我的代码newables尤其是在我的单元测试的一些疑虑。 可更新项的主要候选对象是Entities和Value对象,这意味着与其将这些依赖项注入其他对象中,还应该只是new这些对象的一个实例,并直接在代码中使用它们。 但是,良好的DDD做法主张将责任分配给实体和价值对象(如果认为合适的话)。因此,实体和价值对象将最终在其中包含一些严肃的业务逻辑。 现在,如果服务在实体或值对象上运行,我应该模拟该实体或值对象并将该模拟传递给该服务(模拟将要求interface对似乎被提倡的价值对象或实体使用)? 还是我应该只是new一个实体/值对象,并将具体实现传递给服务,从而违反仅测试一个单元的单元测试原理?