Domain driven design 夏普建筑价值对象
我正在查看夏普建筑公司的代码。到目前为止,这很酷,但我在思考如何在框架中实现DDD值对象时遇到了问题(代码中似乎没有提到这一点)。我假设基本实体类和存储库库只用于实体。有没有关于如何在框架中实现值对象的想法?值对象是不需要基类的简单对象。(实体具有基类的唯一原因是基于标识提供平等性)。实现一个值对象仅仅意味着创建一个类来表示域中的值。很多时候,值对象应该是不可变的,并提供相等比较方法来确定与相同类型的其他值对象的相等性。看看。在Sharp Arch中,名称空间SharpArch.Domain.DomainModel中有一个类ValueObject。此对象继承自BaseObject并重写==和!=运算符以及Equals()和GetHashCode()方法。该方法重写只调用这两个方法的BaseObject版本,这两个方法反过来使用GetTypeSpecificSignatureProperties()方法来获取要在相等性比较中使用的属性 底线是实体的相等性由Domain driven design 夏普建筑价值对象,domain-driven-design,sharp-architecture,Domain Driven Design,Sharp Architecture,我正在查看夏普建筑公司的代码。到目前为止,这很酷,但我在思考如何在框架中实现DDD值对象时遇到了问题(代码中似乎没有提到这一点)。我假设基本实体类和存储库库只用于实体。有没有关于如何在框架中实现值对象的想法?值对象是不需要基类的简单对象。(实体具有基类的唯一原因是基于标识提供平等性)。实现一个值对象仅仅意味着创建一个类来表示域中的值。很多时候,值对象应该是不可变的,并提供相等比较方法来确定与相同类型的其他值对象的相等性。看看。在Sharp Arch中,名称空间SharpArch.Domain.D
编辑:关于持久性,可能会有所帮助。除此之外,请参考NH和Fluent NH官方文档,如果我没有弄错的话,Sharp架构中的值对象将只是一个POCO对象,而不是从任何东西继承?即便如此,在我的持久化机制中,它可以由一个单独的表表示,对吗?但是如何在我的值对象类和数据库之间建立链接呢?