class - 领域驱动设计中的基类 "Entity"和 "ValueObject"

标签 class domain-driven-design base

您是否总是创建这两个抽象基类作为 DDD 中任何新项目的基础?

我读过 Entity 应该有两件事。首先,一个身份属性,可能是一个泛型类型。其次,一个 Equals() 方法,用于确定它是否与另一个实体相同。还要别的吗?任何其他自然方法或经验法则?

最佳答案

我喜欢为我的所有域对象拥有一个共同的抽象祖先,但这是一个偏好和整体基础设施要求的问题。

在那之后,是的,我有实体和值对象的抽象类。

不要忘记,覆盖 Equals for Value 对象以根据相等的属性状态返回相等也很重要。

人们也经常忽视包裹的值(value)。将所有这些核心基类放在它们自己的“内核”库中,不要不愿意将域模型拆分为多个程序集,而不是使用单个大型“域库”。

关于class - 领域驱动设计中的基类 "Entity"和 "ValueObject",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6218328/

相关文章:

c++ - 将字符串 append 到 C++ 中的类变量

java - 从不同类别生成 2 个数字时如何停止获得相同数字

C++:实例化没有 namespace 的对象

c++ - C++ 的类和 header

domain-driven-design - 在域层中公开 IUnitOfWork 接口(interface)是否违反持久性无知规则?

shell的逻辑AND,cmd1 && cmd2,是反的吧?

c# - ASP.NET 中的 SqlDependency

c# - 将 Expression<Func<T,bool>> 传递到存储库的单元测试查询

html - 当基本 href 设置为该子目录时,如何链接到该子目录中的主 URL?

c# - 为什么将基类分配给派生类需要显式转换?但不需要做相反的事情