知识卡片
业务单元:限界上下文向前端延伸出的天然独立单元
内容
DDD战略设计用限界上下文划出的领域模型,本身就是一个业务职责单一、业务功能自包含、边界清晰的天然独立业务单元——此前这个特性只被用来指导微服务的拆分,但同一个特性完全可以向前端延伸:以这个领域模型为基准,向上通过微前端实现它的页面逻辑,向下通过微服务实现它的核心业务逻辑,微前端和微服务组合在一起就构成一个业务单元,可以独立开发、独立测试、独立部署、独立运维,同时对外提供API接口级和页面级两种复用能力。这个设计要同时化解两种看似相反的诉求:一边是企业需要”大而全”的重量级企业级App,集中运营和交叉销售所有产品,但集成的能力越多复杂度越高;另一边是拼团、直播带货、社交分销这类”化整为零”的场景化销售,需要单一产品能够被快速、灵活地打包成轻应用发布到具体场景,用完即弃。业务单元把领域模型的边界同时套用到前端和后端上,使得同一套划分好的业务能力,既能被企业级主页面组合进重量级App,也能被单独抽出打包成场景化轻应用快速发布,从根子上解决了”集中运营能力”与”化整为零发布能力”这对矛盾。
参考来源
- 位置:第21章《微前端:微服务的最佳搭档》"21.1 前端应用新趋势""21.2 业务单元设计"(源文件:_epub-src/OEBPS/Text/chapter5-2-1.xhtml、chapter5-2-2.xhtml)
- 结论依据:原文说明"在这个领域模型内,业务职责单一,业务功能自包含,业务边界非常清晰……所以用DDD构建出来的领域模型是一个天然独立的业务单元……业务单元就是在进行微服务和微前端设计时,以领域模型为基准,向上通过微前端实现领域模型的页面逻辑,向下通过微服务实现领域模型的核心业务逻辑,将微前端与微服务组合成业务单元",直接支撑本卡片结论。
- 原始内容:业务单元就是在进行微服务和微前端设计时,以领域模型为基准,向上通过微前端实现领域模型的页面逻辑,向下通过微服务实现领域模型的核心业务逻辑,将微前端与微服务组合成业务单元,每一个业务单元就是一个职责单一的业务组件。它们以组件化的方式,同时对外提供API接口级和页面级的服务复用能力。