DDD建模问题 - 帮助提出一些好名字

时间:2011-05-30 16:28:30

标签: refactoring domain-driven-design dns modeling

我相信名字对于正确而言非常重要。它有助于使事情变得清晰,当你清楚地了解抽象是什么以及它们被称为什么时,我发现逻辑正确。

我也在使用Ruby进行开发,虽然我有一个非常强大的测试套件,但更改模型名称需要一段时间,所以我宁愿尝试正确使用它。

问题: 这里有3个模型概念,但我不知道它们的最佳名称是什么。

  1. 用户可以创建课程或学习课程。这是课程内容的模板,但它本身并不是课程。那有意义吗?它包含课程中的所有信息......就像Class包含对象的所有数据/方法一样。这就像课程的“元”。我能提出的最佳名称是LearningProgramCourseTemplate

  2. 公司/教育机构可以创建课程。这些课程基于第1点的模板。这些是真实的课程 - 即他们有真实的约会,真实的人实际上注册/参与。我想我能提出的最好的名字是Course。它指向第1点中的1个模型。

  3. 人们可以选修课程,但他们有自己的课程副本只适用于他们,因此我们需要一个模型来存储与该课程相关的所有具体信息。它基本上与点{2中的Course建立了多对多关系。我能提出的最佳名称是ActiveCourseCourseInstanceCourseProgress,{{1} }

  4. 我根本不喜欢我的名字。有人可以帮我提出3个更好的名字吗?

1 个答案:

答案 0 :(得分:1)

好问题。 CourseDescriptionCourseOfferingCourseEnrolement怎么样?

理由:

(3)实际上是一个关系“人注册课程”(正如你所说)。

(2)也是一种关系:“课程组织提供”。

第h