|
|
1
3
在经典(非CQRS)DDD中,一个好的做法是将所有数据分解为值对象,这样您的实体就简化为它们的主要功能:维护标识。 在您的示例中,客户应该引用一个Address ValueObject,并拥有一个ChengeAddress方法,该方法应该简单到:
尽量将逻辑从实体移动到值对象。它们本质上更易于测试,因为良好的值对象很小且不可变。您可以使用构造函数来实例化给定状态下的VO并对其进行练习(通常通过调用返回另一个已转换的VO实例的方法)。 最后但并非最不重要的一点是,根据我的经验,如果测试领域模型需要额外的基础设施(如反射或任何其他工具),那么就错了(通过引入不必要的耦合)。 |
|
|
2
1
再加上一点反省,爱和领域就变得非常可测试了:
用法:
你至少应该试着把那些“大屁股”的物体分成更小的。试着建立一个层次结构(只需确保它符合无处不在的语言)。 |
|
|
A B · C#Excel自动调整列避免长文本时出错 1 年前 |
|
|
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 1 年前 |
|
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 1 年前 |
|
|
Sei · Avalonia/WPF将路由器传递到控制模板 1 年前 |