首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >管理设施本身是否是一个有限制的上下文?

管理设施本身是否是一个有限制的上下文?
EN

Software Engineering用户
提问于 2017-09-01 17:26:36
回答 1查看 894关注 0票数 4

假设我有一个DDD应用程序,它有三个有界的上下文,即销售、生产和营销。

说我想建立一个管理机构。管理工具将允许超级用户更改由SalesRepository、ProductionRepository和MarketingRepository使用的表中的数据。

行政设施将如何从数据库中提取信息:

选项1)它使用三个存储库,即SalesRepository、ProductionRepository和MarketingRepository

备选方案2)管理本身将被视为一个有限制的上下文,并拥有自己的存储库。这可能是一个通用存储库,因为有界的上下文只包含CRUD操作,即没有域逻辑。

我特别要问的是,一个简单的管理工具是否应该被视为一个有限制的上下文。我不是问:“什么是有限度的上下文?”

EN

回答 1

Software Engineering用户

回答已采纳

发布于 2017-09-02 07:41:38

根据我对域的了解,您需要使用一个authorization bounded context (AuthBC)来管理对另一个BCs的访问权限(如果它不存在,则创建它)。

如果administrators (拥有系统中所有特权/权限的用户)需要一些在BCs中尚不存在的新函数,例如postpone a sale,那么该函数将像往常一样添加,但对它的访问将仅限于管理员(实际上您可以将其限制在具有名为CAN_POSTPONE_A_SALE的特权的用户,但这取决于AuthBC的内部结构)。这也适用于查询,因为它们将受到同一个AuthBC的保护。

如果您想知道如何将AuthBC与另一个BCs集成:您可以在Application layer中、在Application services中这样做;在执行域函数之前,服务从AuthBC调用一个application service,并询问它当前用户是否可以执行一些操作,例如通过字符串标识的操作。请注意,这种对AuthBC的引用不应在aggregatedomain service中执行,而只能从application service进行;在任何域层中,必须有只对该域进行特定检查的代码。

BCs=有界上下文

票数 1
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/356660

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档