申请"学校"应该有三种类型的用户:学生,家长,管理员。
- 管理员可以为孩子在学校注册(他们成为小学生)并为他/她安排家长;创建学校时间表
- 学生可查看课表及成绩
- 家长可以查看在校学生的成绩;支付学费
你能帮我定义这个应用程序的有界上下文吗?对我来说,这里似乎不止一个有界上下文。
首先,您必须考虑bound - context的自主性。下一个是关于事务的。你必须尽可能地考虑独立的交易。每个bound - context都必须有自己的世界,甚至自己的语言(泛在语言)。
有了这个信息和更多的信息,你可以更好地决定bounds - context。根据你的信息,我认为它可以有3个Bounded-Contexts:
- 学校安排 学校财务
- Users-Area (authentication or profile)
请记住,所有的bound - contexts(例如:Schedule)应该在没有其他bound - contexts(例如:Users-Area)的情况下独立工作。例如,您可以在Schedule Bounded-Context中拥有Name, family和UserId。但是用户的全部数据都在Users-Area Bounded-Context中(就像Profile数据),当你需要它时,你可以通过几种方式从中获取数据。