我在一些域对象模型中看到,为所有域Entity对象创建了一个抽象基类(实现了Equals和GetHashCode)以从中获取其身份.
我不清楚为什么需要这个基类以及何时以及为什么应该使用它.您能否就此提供一些见解或向我推荐一个有关此问题的链接
谢谢
现在我理解了覆盖Equality的优势(这个链接有助于http://en.csharp-online.net/CSharp_Canonical_Forms -Identity_Equality)
回到域驱动设计我想稍微扩展我的问题;
我有一个客户实体,我使用guid作为身份.
如果我创建具有完全相同细节的2个客户实例,因为我使用guid作为标识它们将是两个不同的对象.但是因为它们具有相同的所有属性,所以它们应该是同一个对象(或者它是一种更好的ddd实践,以保持它们的独特性和独立性?)
试图了解我是否应该通过完全属性值匹配来处理两个对象的相等性.如果我朝着那个方向前进,那么我正在寻找在子类级别上覆盖基类的等式并实现这些条件,或者让实体的标识为字符串或哈希码(?)表示所有值的值这些属性并使用基类的Equality.
我可能在这里很少,所以提前感谢耐心.