惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
V
Visual Studio Blog
阮一峰的网络日志
阮一峰的网络日志
W
WeLiveSecurity
Google DeepMind News
Google DeepMind News
Help Net Security
Help Net Security
WordPress大学
WordPress大学
博客园_首页
大猫的无限游戏
大猫的无限游戏
Jina AI
Jina AI
The Cloudflare Blog
Hacker News - Newest:
Hacker News - Newest: "LLM"
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
T
Tenable Blog
Google Online Security Blog
Google Online Security Blog
PCI Perspectives
PCI Perspectives
博客园 - 三生石上(FineUI控件)
Recent Commits to openclaw:main
Recent Commits to openclaw:main
宝玉的分享
宝玉的分享
T
Tailwind CSS Blog
Forbes - Security
Forbes - Security
C
CERT Recently Published Vulnerability Notes
罗磊的独立博客
Security Latest
Security Latest
小众软件
小众软件
T
The Exploit Database - CXSecurity.com
C
Cisco Blogs
量子位
P
Privacy & Cybersecurity Law Blog
Schneier on Security
Schneier on Security
N
News and Events Feed by Topic
Apple Machine Learning Research
Apple Machine Learning Research
S
SegmentFault 最新的问题
V2EX - 技术
V2EX - 技术
C
Cyber Attacks, Cyber Crime and Cyber Security
Scott Helme
Scott Helme
Cisco Talos Blog
Cisco Talos Blog
S
Schneier on Security
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
V
Vulnerabilities – Threatpost
N
News and Events Feed by Topic
U
Unit 42
腾讯CDC
博客园 - 聂微东
博客园 - 【当耐特】
B
Blog
P
Proofpoint News Feed
B
Blog RSS Feed
www.infosecurity-magazine.com
www.infosecurity-magazine.com

博客园 - delphi中间件

领域服务与领域事件 业务规则和模型 限界上下文与统一语言 mqtt即时通讯 ActiveRecord ORM RAD(速成应用开发) unigui插件框架 工厂流水线式自动生产UNIGUI WEB软件 delphi cs\web一种统一的界面风格 - delphi中间件 - 博客园 动态生成unidbgrid 单据工厂 用json元数据填充模板 mormot2 ORM rest vs jsonrpc SSE技术详解:使用 HTTP 做服务端数据推送应用的技术 http持久连接 json-rpc 2.0 MCP服务器 RTTI对性能的影响 频繁地创建和销毁对象 TMultiPartFormData 雪花ID core.binary.pas TJSONToDataSetBridge TIcsMQTTServer 咏南WEB开发框架 unigui ajax交互 UnimList卡片显示 UnimTabPanel tabsheet在下面 unipagecontrol tabsheet在下面 unitreemenu自动显示滚动条 uniimbitbtn手机按钮一些设置
领域驱动
delphi中间件 · 2026-07-20 · via 博客园 - delphi中间件

领域(Domain),就是你公司做的那门生意本身

"优选门店"是做门店零售电商的,那它的领域就是"门店零售电商"。一个领域太大,没法一口吃下,所以要拆成更小的块,每一块叫一个子域(Subdomain)

这就像一家公司要分部门:销售部、仓储部、财务部、人事部。每个部门负责一摊事,合起来才是整个公司。子域就是业务上的"部门"。

"优选门店"拆成子域: 商品子域、库存子域、订单交易子域、促销子域、会员子域、支付子域、配送子域……

到这里都还好理解。关键在下一步——这些子域不是平等的

核心域(Core Domain)—— 你赚钱的命根子

这是你区别于竞争对手、决定生死的业务。是你公司的护城河。

对"优选门店"来说,订单交易促销是核心域:

  订单交易是营收的直接来源,下单转化率、履约体验直接决定生意。

  促销是零售电商的核心武器——满减、优惠券、限时折扣玩得好不好,直接决定 GMV。隔壁竞品的促销规则更灵活,用户就跑了。

核心域要投入最强的团队、用最精细的 DDD 建模。 这套教程后面的聚合、领域事件、CQRS,主要就是给核心域用的。

支撑域(Supporting Subdomain)—— 必须有,但不构成竞争力

业务离不开它,但它做得再好也不会让你"赢",只是"不输"。

对"优选门店"来说,商品管理、库存、配送是支撑域:

  商品要有、库存要准、货要能发出去,缺一不可。

  但"商品管理系统做得特别牛"不会成为你打败对手的理由。它只要"够用、稳定"就行。

支撑域可以用相对简单的方式实现,甚至可以外包或买成品,没必要上最复杂的建模。

通用域(Generic Subdomain)—— 大家都一样,能买就买

任何公司都需要、且做法高度标准化的业务。

对"优选门店"来说,支付、消息通知、对账是通用域:

  支付?直接接微信支付/支付宝/银联。

   短信通知?买第三方服务。

   自己从零造一个支付系统,纯属浪费——这不是你的竞争力所在。

通用域优先用现成方案(第三方服务、开源组件、SaaS),别自己造轮子。

一张图看懂"优选门店"的子域划分

1

传统做法的弊端

传统项目里,所有模块一视同仁:商品管理和订单交易投入一样的人力,支付系统也想自己从头造一套"更好的"。结果是:

  把宝贵的资深工程师耗在"商品类目管理"这种支撑域上,核心的促销引擎却草草了事。

   自研支付、自研短信网关,造了一堆没有竞争力的轮子,还埋了一堆坑。

  整个系统平均用力,核心竞争力没建起来,次要的地方又过度投入

这样分的好处

  1.  资源聚焦:最强的人 + 最精细的建模,集中砸在核心域(订单、促销),把护城河挖深。
  2. 降本提速:支撑域够用即可、通用域直接买,省下的时间投到核心域。
  3. 决策有依据:要不要自研、要不要外包、用不用复杂架构,看它是哪类子域就有答案了。

容易踩的坑

  • • 核心域不是一成不变的。早期"优选门店"的核心可能是"商品丰富度",成熟期变成"促销和履约效率"。要定期重新评估。
  • • 别把"技术难"当成"核心域"。搜索引擎技术上很难,但如果它不是你区别于对手的关键,它就只是支撑域,该用现成的 ES 就用,别自研。核心域看的是业务价值,不是技术难度。
  • • 核心域要尽量小而聚焦。什么都说是核心,等于没有核心。

划分完子域,下一步是 DDD 里最重要也最容易被低估的概念——限界上下文。子域是业务视角的划分,限界上下文则是落到软件设计上的边界