在域驱动设计中的身份和访问有界上下文中实现多个用户

时间:2017-03-07 10:16:31

标签: c# php domain-driven-design

我正在使用DDD方法开发多租户JobBoard应用程序。我在很大程度上读过蓝色和红色的书。我也在线阅读了很多关于DDD的文章。但是,在这方面,我没有看到任何易于理解的关于身份和访问有限上下文实现的例子。

我的应用程序结构如下所示:

租户创建一个JobBoard。工作板(属于租户)有两个用户:雇主和求职者。

我有两个有限的上下文:Identity和JobBoard。

我的问题是实施雇主和求职者用户的最佳方式是什么?

  1. 我是否应将雇主和求职者同时作为身份有界上下文中的实体(聚合)或

  2. 我是否应在Identity Bounded上下文中拥有用户实体(Aggregate),并将Employer和JobSeeker都作为角色值对象的角色类型,这将是用户类的属性。

  3. 感谢。

2 个答案:

答案 0 :(得分:0)

我会选择不。 2

EmployerJobSeeker似乎只在JobBoard Bounded Context中有意义所以你应该将它们实现为BC中的值对象,它是基于来自Role的{​​{1}}创建的{1}}。

答案 1 :(得分:0)

除非雇主和求职者不以同样的方式进行身份验证,或者您有安全限制要求将两者分开,否则我会有一个用户对象。

顺便说一句,实现自己的Identity子域并不一定值得,或者至少使用完整的DDD模型 - 聚合,实体等来实现。