
摘要本章解决一个决定项目成败的战略问题你的建模精力到底该投到哪里我们会从领域、子域、核心域、支撑域、通用域讲起用优选门店案例画出业务地图帮你判断哪些地方值得精细建模哪些地方保持简单就够了。一、大白话领域、子域是什么领域Domain就是你公司做的那门生意本身。“优选门店是做门店零售电商的那它的领域就是门店零售电商”。一个领域太大没法一口吃下所以要拆成更小的块每一块叫一个子域Subdomain。这就像一家公司要分部门销售部、仓储部、财务部、人事部。每个部门负责一摊事合起来才是整个公司。子域就是业务上的部门。优选门店拆成子域商品子域、库存子域、订单交易子域、促销子域、会员子域、支付子域、配送子域……到这里都还好理解。关键在下一步——这些子域不是平等的。二、核心域、支撑域、通用域DDD 最实用的一个分类这是 DDD 战略设计里性价比最高的一个工具。它教你钱和最强的人要花在刀刃上。把子域分成三类核心域Core Domain—— 你赚钱的命根子这是你区别于竞争对手、决定生死的业务。是你公司的护城河。对优选门店来说订单交易和促销是核心域订单交易是营收的直接来源下单转化率、履约体验直接决定生意。促销是零售电商的核心武器——满减、优惠券、限时折扣玩得好不好直接决定 GMV。隔壁竞品的促销规则更灵活用户就跑了。核心域要投入最强的团队、用最精细的 DDD 建模。这套教程后面的聚合、领域事件、CQRS主要就是给核心域用的。支撑域Supporting Subdomain—— 必须有但不构成竞争力业务离不开它但它做得再好也不会让你赢只是不输。对优选门店来说商品管理、库存、配送是支撑域商品要有、库存要准、货要能发出去缺一不可。但商品管理系统做得特别牛不会成为你打败对手的理由。它只要够用、稳定就行。支撑域可以用相对简单的方式实现甚至可以外包或买成品没必要上最复杂的建模。通用域Generic Subdomain—— 大家都一样能买就买任何公司都需要、且做法高度标准化的业务。对优选门店来说支付、消息通知、对账是通用域支付直接接微信支付/支付宝/银联。短信通知买第三方服务。自己从零造一个支付系统纯属浪费——这不是你的竞争力所在。通用域优先用现成方案第三方服务、开源组件、SaaS别自己造轮子。三、一张图看懂优选门店的子域划分系统边界优选门店业务领域通用域优先采购支撑域稳定够用核心域重点投入核心投入核心投入业务支撑业务支撑业务支撑外部/通用能力外部/通用能力外部/通用能力7. 支付第三方能力1. 领域门店零售电商2. 订单交易营收主流程3. 促销增长与转化4. 商品管理商品资料5. 库存可售数量6. 配送履约发货8. 消息通知短信/站内信9. 对账标准财务能力四、为什么这么分有什么好处对比传统做法传统做法的弊端传统项目里所有模块一视同仁商品管理和订单交易投入一样的人力支付系统也想自己从头造一套更好的。结果是把宝贵的资深工程师耗在商品类目管理这种支撑域上核心的促销引擎却草草了事。自研支付、自研短信网关造了一堆没有竞争力的轮子还埋了一堆坑。整个系统平均用力核心竞争力没建起来次要的地方又过度投入。这样分的好处资源聚焦最强的人 最精细的建模集中砸在核心域订单、促销把护城河挖深。降本提速支撑域够用即可、通用域直接买省下的时间投到核心域。决策有依据要不要自研、要不要外包、用不用复杂架构看它是哪类子域就有答案了。五、容易踩的坑核心域不是一成不变的。早期优选门店的核心可能是商品丰富度成熟期变成促销和履约效率。要定期重新评估。别把技术难当成核心域。搜索引擎技术上很难但如果它不是你区别于对手的关键它就只是支撑域该用现成的 ES 就用别自研。核心域看的是业务价值不是技术难度。核心域要尽量小而聚焦。什么都说是核心等于没有核心。划分完子域下一步是 DDD 里最重要也最容易被低估的概念——限界上下文。子域是业务视角的划分限界上下文则是落到软件设计上的边界。下一章见。