4 mins read

小型支付电商系统:一套项目两套架构(MVC + DDD)

用同一套真实支付链路,同时落地 MVC 与 DDD,覆盖登录、下单、支付、回调与部署。

小型支付电商系统:一套项目两套架构(MVC + DDD)
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

  1. 用户扫码登录获取登录态
  2. 商品下单并生成支付单
  3. 对接支付宝沙箱完成支付
  4. 支付回调处理与订单状态更新
  5. 模板消息通知与补偿任务

工程结构h2

  • MVC:Controller / Service / Repository 分层,关注流程实现与分层职责清晰
  • DDD:领域模型驱动,围绕聚合、实体、值对象与领域服务组织业务
NOTE

MVC 与 DDD 共用同一套业务需求与接口协议,便于直接对照结构差异。

同一套需求两种结构并行实现,可以清晰看到架构对代码组织与业务表达的影响。

流程设计(示例)h2

  • 登录流程:扫码 -> 授权 -> 回调 -> 登录态落库
  • 下单流程:商品校验 -> 订单创建 -> 统一支付 -> 状态回写

运行效果与日志h2

项目包含可访问的前端页面与完整的回调日志示例,便于定位问题、理解支付链路的关键节点。

NOTE

运行记录包含支付回调与补偿任务日志,可用于复盘关键节点与异常处理。

项目大纲h2

展开项目大纲
  • 第 1 部分:架构理论(DDD 概念与建模方法)
  • 第 2 部分:需求设计(PRD 与工程设计)
  • 第 3 部分:功能实现(MVC 全流程)
  • 第 4 部分:功能实现(DDD 重构)
  • 第 5 部分:开发运维(内网穿透、微信/支付宝配置)