我正在使用DDD构建一个应用程序,它是一个员工评估应用程序。作为领域层的一部分,我有一个评价文档。对于这个文档可以做什么取决于用户在评价文档方面扮演的角色,但也取决于文档状态。
这些是领域概念还是交叉关注点-安全性?
如何向UI传达允许的操作?
我正在使用DDD构建一个应用程序,它是一个员工评估应用程序。作为领域层的一部分,我有一个评价文档。对于这个文档可以做什么取决于用户在评价文档方面扮演的角色,但也取决于文档状态。
这些是领域概念还是交叉关注点-安全性?
如何向UI传达允许的操作?
gradeEmployee(String supervisorId, String employeeId, Integer grade)
或 viewAppraisal(String viewingSuperVisorId, String appraisalId)
或 involveReferee(...)
。
然后,评估 BC 的应用程序接口的职责是确保这些操作是实际允许的;因为它会调用领域模型的业务方法,例如 AppRaisalDomainService.mayPublishReport(supervisor, appraisal)
在您的应用程序中所要做的就是将您应用程序的用户映射到相应的supervisorId
/employeeId
。例如,您可以查看 Vaughn Vernon 的“Collaboration”限界上下文在[IDDD_Samples][1]存储库中的示例,人们担任角色如Moderator
、Author
等,以及协作上下文如何从其他相关 BC 中使用。