NOTE
沉淀、分享、成长,让自己和他人都能有所收获。
本项目以同一需求分别落地 MVC 与 DDD,两套架构并行实现,便于对照设计思路与工程落地差异。
实战 支付链路 双架构
NOTE
封面图源:UHDpaper
项目定位h2
这是一套小型支付电商系统,提取真实生产中最核心的业务流程作为需求基线,重点覆盖:
- 微信扫码鉴权登录 + 模板消息通知
- 支付宝沙箱交易打通
- 商品支付掉单处理与任务补偿
- 完整的下单与支付回调链路
NOTE
需求基线来自真实交易链路,覆盖鉴权、下单、支付、回调与补偿。
项目产出h2
这套项目不做无意义的 CRUD 演练,围绕核心链路强化架构理解与工程能力:
- 前端:基础 HTML/CSS 页面搭建,扫码登录与下单页面实现
- 前端:使用
fetch调用后端接口并处理业务数据 - 后端:MVC 分层结构搭建与职责划分
- 后端:DDD 工程化分层与领域模型设计
- 后端:Spring Boot / MyBatis 等框架实践
- 后端:模板方法等设计模式在交易链路中的落地
- 后端:登录、下单、支付、回调的全链路实现
- 运维:Docker 构建与部署,Nginx 反向代理
- 协作:Git 分支管理、合并、发布流程
项目介绍h2
项目覆盖前后端与 DevOps 的完整闭环,核心技术包括:Spring Boot、MyBatis、Nginx、Docker、微信公众号、支付宝沙箱。内容不长,但链路完整,适合对照学习 MVC 与 DDD 的设计思路与工程差异。
TIP
技术栈偏工程化落地,适合在真实业务流程中理解分层差异。
核心流程h2
- 用户扫码登录获取登录态
- 商品下单并生成支付单
- 对接支付宝沙箱完成支付
- 支付回调处理与订单状态更新
- 模板消息通知与补偿任务
工程结构h2
- MVC:Controller / Service / Repository 分层,关注流程实现与分层职责清晰
- DDD:领域模型驱动,围绕聚合、实体、值对象与领域服务组织业务
NOTE
MVC 与 DDD 共用同一套业务需求与接口协议,便于直接对照结构差异。
同一套需求两种结构并行实现,可以清晰看到架构对代码组织与业务表达的影响。
流程设计(示例)h2
- 登录流程:扫码 -> 授权 -> 回调 -> 登录态落库
- 下单流程:商品校验 -> 订单创建 -> 统一支付 -> 状态回写
运行效果与日志h2
项目包含可访问的前端页面与完整的回调日志示例,便于定位问题、理解支付链路的关键节点。
NOTE
运行记录包含支付回调与补偿任务日志,可用于复盘关键节点与异常处理。
项目大纲h2
展开项目大纲
- 第 1 部分:架构理论(DDD 概念与建模方法)
- 第 2 部分:需求设计(PRD 与工程设计)
- 第 3 部分:功能实现(MVC 全流程)
- 第 4 部分:功能实现(DDD 重构)
- 第 5 部分:开发运维(内网穿透、微信/支付宝配置)