DDD如何定义有界上下文

问题描述

“学校”应用程序应具有三种类型的用户:学生、家长、管理员

  1. 管理员可以为孩子在学校注册(他们成为学生)并将父母与他/她联系起来;创建学校时间表
  2. 学生应该看到学校的时间表和他/她的分数
  3. 家长可以查看他/她在校学生的孩子的成绩;支付学费

你能帮我定义这个应用程序的有界上下文吗?对我来说,这里看起来不止一个有界上下文。

解决方法

首先,您必须考虑有界上下文的自治性。接下来是交易。您必须尽可能考虑独立交易。 每个有界上下文都必须有自己的世界和语言(无处不在的语言)。

有了这个信息和更多信息,你可以更好地决定有界上下文。根据您的信息,我认为它可能有 3 个有界上下文:

  1. 上课时间
  2. 学校财务
  3. 用户区域(身份验证或个人资料)

请记住,所有有界上下文(例如:时间表)都应该独立工作,而无需其他有界上下文(例如:用户区域)。例如,您可以在 Schule Schedule Bounded-Context 中拥有 Name 和 family 以及 UserId。但是用户的全部数据都在用户区域有界上下文(如个人资料数据)中,当您需要时,您可以通过几种方式从中获取数据。