# ddd_order **Repository Path**: liset/ddd_order ## Basic Information - **Project Name**: ddd_order - **Description**: 使用ddd领域驱动设计构建 - **Primary Language**: Java - **License**: MPL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-11-21 - **Last Updated**: 2025-11-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ddd_order #### 介绍 使用ddd领域驱动设计构建 #### 软件架构 软件架构说明 #### 安装教程 1. xxxx 2. xxxx 3. xxxx #### 使用说明 代码结构 src/ ├── main/ │ ├── java/ │ │ └── com/ │ │ └── demo/ │ │ ├── DemoApplication.java // 应用入口(Spring Boot启动类) │ │ ├── common/ // 公共组件(跨领域复用,非DDD四层) │ │ │ ├── dto/ │ │ │ │ ├── Result.java // 统一响应体(跨领域通用) │ │ │ │ └── PageDTO.java // 分页公共DTO(跨领域通用) │ │ │ ├── exception/ │ │ │ │ ├── BusinessException.java // 业务异常基类 │ │ │ │ └── GlobalExceptionHandler.java // 全局异常处理 │ │ │ └── util/ │ │ │ └── IdGenerator.java // ID生成工具(跨领域通用) │ │ ├── order/ // 核心领域:订单领域(完整四层结构) │ │ │ ├── api/ // 1.用户接口层(对外入口) │ │ │ │ ├── controller/ │ │ │ │ │ └── OrderController.java // 订单HTTP接口控制器 │ │ │ │ ├── dto/ │ │ │ │ │ ├── CreateOrderCommand.java // 下单请求命令DTO │ │ │ │ │ ├── OrderDTO.java // 订单响应DTO │ │ │ │ │ └── OrderQuery.java // 订单查询条件DTO │ │ │ │ └── converter/ │ │ │ │ └── OrderConverter.java // DTO与领域模型转换器 │ │ │ ├── application/ // 2.应用层(流程编排+跨领域协调) │ │ │ │ ├── service/ │ │ │ │ │ └── OrderApplicationService.java // 订单应用服务 │ │ │ │ └── event/ │ │ │ │ ├── OrderCreatedEvent.java // 订单创建跨领域事件 │ │ │ │ └── OrderCreatedEventListener.java // 事件监听器 │ │ │ ├── domain/ // 3.领域层(业务核心:规则+模型) │ │ │ │ ├── model/ │ │ │ │ │ ├── aggregate/ │ │ │ │ │ │ └── Order.java // 订单聚合根(领域核心实体) │ │ │ │ │ ├── entity/ │ │ │ │ │ │ └── OrderItem.java // 订单子实体(聚合内实体) │ │ │ │ │ ├── vo/ │ │ │ │ │ │ └── Money.java // 金额值对象(无ID不可变) │ │ │ │ │ └── enums/ │ │ │ │ │ └── OrderStatusEnum.java // 订单状态枚举 │ │ │ │ ├── service/ │ │ │ │ │ └── OrderDomainService.java // 订单领域服务(跨实体逻辑) │ │ │ │ ├── factory/ │ │ │ │ │ └── OrderFactory.java // 订单工厂(复杂模型创建) │ │ │ │ ├── event/ │ │ │ │ │ └── OrderStatusChangedEvent.java // 领域内事件 │ │ │ │ └── repository/ │ │ │ │ └── OrderRepository.java // 订单仓储接口(领域持久化契约) │ │ │ └── infrastructure/ // 4.基础设施层(技术支撑+接口实现) │ │ │ ├── repository/ │ │ │ │ └── impl/ │ │ │ │ └── OrderRepositoryImpl.java // 订单仓储实现 │ │ │ ├── mapper/ │ │ │ │ ├── OrderMapper.java // MyBatis订单数据访问接口 │ │ │ │ └── OrderItemMapper.java // 订单子项数据访问接口 │ │ │ └── po/ │ │ │ ├── OrderPO.java // 订单数据库实体(与表一一对应) │ │ │ └── OrderItemPO.java // 订单子项数据库实体 │ │ ├── product/ // 依赖领域:商品领域(完整四层结构) │ │ │ ├── api/ │ │ │ │ ├── controller/ │ │ │ │ │ └── ProductController.java // 商品HTTP接口控制器 │ │ │ │ ├── dto/ │ │ │ │ │ ├── ProductDTO.java // 商品响应DTO │ │ │ │ │ └── ProductQuery.java // 商品查询DTO │ │ │ │ └── converter/ │ │ │ │ └── ProductConverter.java // 商品DTO转换器 │ │ │ ├── application/ │ │ │ │ └── service/ │ │ │ │ └── ProductApplicationService.java // 商品应用服务 │ │ │ ├── domain/ │ │ │ │ ├── model/ │ │ │ │ │ ├── aggregate/ │ │ │ │ │ │ └── Product.java // 商品聚合根 │ │ │ │ │ ├── vo/ │ │ │ │ │ │ └── Stock.java // 库存值对象 │ │ │ │ │ └── enums/ │ │ │ │ │ └── ProductStatusEnum.java // 商品状态枚举 │ │ │ │ ├── service/ │ │ │ │ │ └── ProductDomainService.java // 商品领域服务 │ │ │ │ └── repository/ │ │ │ │ └── ProductRepository.java // 商品仓储接口 │ │ │ └── infrastructure/ │ │ │ ├── repository/ │ │ │ │ └── impl/ │ │ │ │ └── ProductRepositoryImpl.java // 商品仓储实现 │ │ │ ├── mapper/ │ │ │ │ └── ProductMapper.java // 商品MyBatis Mapper │ │ │ └── po/ │ │ │ └── ProductPO.java // 商品数据库实体 │ │ └── coupon/ // 依赖领域:优惠券领域(完整四层结构) │ │ ├── api/ │ │ │ ├── controller/ │ │ │ │ └── CouponController.java // 优惠券HTTP接口控制器 │ │ │ ├── dto/ │ │ │ │ ├── CouponDTO.java // 优惠券响应DTO │ │ │ │ ├── CouponQuery.java // 优惠券查询DTO │ │ │ │ └── CouponValidResultDTO.java // 优惠券校验结果DTO │ │ │ └── converter/ │ │ │ └── CouponConverter.java // 优惠券DTO转换器 │ │ ├── application/ │ │ │ └── service/ │ │ │ └── CouponApplicationService.java // 优惠券应用服务 │ │ ├── domain/ │ │ │ ├── model/ │ │ │ │ ├── aggregate/ │ │ │ │ │ └── Coupon.java // 优惠券聚合根 │ │ │ │ ├── vo/ │ │ │ │ │ └── Discount.java // 折扣值对象 │ │ │ │ └── enums/ │ │ │ │ └── CouponStatusEnum.java // 优惠券状态枚举 │ │ │ ├── service/ │ │ │ │ └── CouponDomainService.java // 优惠券领域服务 │ │ │ └── repository/ │ │ │ └── CouponRepository.java // 优惠券仓储接口 │ │ └── infrastructure/ │ │ ├── repository/ │ │ │ └── impl/ │ │ │ └── CouponRepositoryImpl.java // 优惠券仓储实现 │ │ ├── mapper/ │ │ │ └── CouponMapper.java // 优惠券MyBatis Mapper │ │ └── po/ │ │ └── CouponPO.java // 优惠券数据库实体 │ └── resources/ │ ├── application.yml // 系统配置(数据库、MyBatis等) │ └── mybatis/ // MyBatis映射文件(可选,简化用注解) └── test/ └── java/ └── com/ └── demo/ └── order/ └── application/ └── OrderApplicationServiceTest.java // 订单应用服务测试类 1. xxxx 2. xxxx 3. xxxx #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)