期待进入领域驱动设计的世界与一个简单的项目,供我个人使用。该项目是一个简单的计算器,用于评估旧的国防部“高3”退休和新的"BRS“退休之间的不同退休情景。
我在进行这个(非常简单)项目时遇到的问题是,我无法识别任何真正具有唯一标识的对象。无处不在的语言包括:退休、员工、TSP、High3、BRS、贡献率等,但这些语言都没有任何GUID。
在大多数应用程序中,员工可能确实与其他员工不同,或者退休与其他人的退休有所不同。但是对于这个项目,拥有一组属性的退休应该被视为与具有相同属性集的另一个退休对象相同。
或者,我应该认为(属性集)本身是唯一的,因此,退休时只能有一组属性。
我是不是想错了,还是这不是DDD的一个好项目?再次,我想通过一个自制的项目来扩展我的设计和建筑知识。
发布于 2017-12-07 21:56:00
如果我完全理解您的域,您不会计算已支付了明确的缴款的已识别员工的特定退休情况,但是您会对一个泛型员工进行模拟,该模拟完全由与模拟相关的参数定义。
在这种情况下,您的对象实际上不是具有ID的实体,而是“匿名”值对象。
但是,您可能需要跟踪模拟场景中的所有这些值对象,以便以后可以检索它。在本例中,您将有一个带有ID的实体Scenario,该实体将是包含所有其他对象的聚合的根。
如果目标是学习DDD,这个示例并不能很好地代表通常的挑战以及在对具有复杂关系的实体建模时出现的许多问题。
https://softwareengineering.stackexchange.com/questions/362014
复制相似问题