- 不是教条 DDD:模板强调“边界清晰”,让你能先跑起来,再逐步演进。
- 六边形友好:通过
port.in / port.out把协议、存储、第三方调用都隔离在外圈。 - 便于微服务拆分:把“一个服务的标准形状”封装进
tml-standard,复制即可生长新服务。
如果你想先理解“代码应该放哪”,直接看开发指南的 TL;DR 即可。
- 在 GitHub 点 Use this template
- 选择你的组织/个人空间
- 重命名仓库(可选)
mvn -DskipTests package这个仓库的根模块:
tml-app:启动/装配(Bootstrap)tml-standard:一个完整服务(或限界上下文)的实现骨架
tml-standard 内部是一套“一个服务的标准形状”:
tml-api:对外服务契约(req/resp、错误码、OpenAPI/Proto)tml-adapter:适配层(HTTP/RPC/MQ/Job),负责协议接入与数据转换tml-service:应用层(UseCase),负责用例/流程编排与端口定义(port.in / port.out)tml-domain:领域层(业务核心),放模型与规则tml-infrastructure:基础设施实现(DB/缓存/第三方/消息生产者等),实现 port.outtml-client:对外 SDK(给其它服务或调用方用)
一句话:越往内越纯业务,越往外越技术/协议。
- 指南入口: docs/Tml-DDD-Guide.md
这份指南会讲清楚:
- 六边形架构在工程里怎么落
api/adapter/service/domain/infrastructure/client的职责边界- req/resp 与服务内 model 如何转换
- 典型“支付订单”链路从外到内怎么走
最近 Star 趋势可视图: