
领域驱动设计 代码结构参考
代码结构 src/ ├── application/ # 应用层 │ ├── dto/ # 数据传输对象 │ │ └── OrderDTO.java │ ├── assembler/ # DTO转换器 │ │ └── OrderAssembler.java │ └── services/ # 应用服务 │ └── OrderService.java │ ├── domain/ # 领域层 │ ├── model/ # 领域模型 │ │ ├── aggregates/ # 聚合根 │ │ │ └── Order.java │ │ ├── entities/ # 实体 │ │ │ └── OrderItem.java │ │ └── valueobjects/ # 值对象 │ │ ├── Address.java │ │ └── Money.java │ ├── repository/ # 仓储接口 │ │ └── OrderRepository.java │ ├── service/ # 领域服务 │ │ └── OrderDomainService.java │ └── events/ # 领域事件 │ └── OrderCreatedEvent.java │ ├── infrastructure/ # 基础设施层 │ ├── config/ # 配置 │ │ └── DatabaseConfig.java │ ├── persistence/ # 持久化实现 │ │ ├── po/ # 持久化对象 │ │ │ └── OrderPO.java │ │ └── repository/ # 仓储实现 │ │ └── OrderRepositoryImpl.java │ └── message/ # 消息实现 │ └── kafka/ │ └── OrderEventPublisher.java │ └── interfaces/ # 接口层 ├── facade/ # 外观接口 │ └── OrderFacade.java └── rest/ # REST接口 └── OrderController.java 开源项目参考 eShopOnContainers (微软官方) └── https://github.com/dotnet-architecture/eShopOnContainers 技术栈:.NET Core, Docker, Microservices 架构特点: ├── 完整的微服务电商系统 ├── 包含订单、目录、购物车等典型领域 ├── 实现了CQRS模式 └── 完善的容器化部署方案 DDDSample-Core (DDD Sample) └── https://github.com/citerus/dddsample-core 技术栈:Java, Spring Boot 架构特点: ├── Eric Evans原版DDD示例的现代实现 ├── 经典的货运系统领域模型 ├── 完整的测试用例 └── 优秀的领域建模示例 Practical-DDD (Spring Cloud实现) └── https://github.com/ddd-by-examples/library 技术栈:Java, Spring Cloud, Spring Boot 架构特点: ├── 图书馆管理系统 ├── 完整的领域事件实现 ├── 丰富的业务规则示例 └── 清晰的限界上下文划分 mall (电商系统) └── https://github.com/macrozheng/mall 技术栈:Java, Spring Boot, MyBatis 架构特点: ├── 完整的电商业务架构 ├── 详细的文档和架构说明 ├── 前后端分离设计 └── 包含丰富的技术整合示例 order-backend-project (订单系统) └── https://github.com/e-commerce-sample/order-backend 技术栈:Java, Spring Boot, JPA 架构目录结构: src/main/java/com/ecommerce/order ├── application/ # 应用层 │ ├── dto/ │ └── service/ ├── domain/ # 领域层 │ ├── model/ │ ├── service/ │ └── repository/ ├── infrastructure/ # 基础设施层 │ ├── config/ │ ├── persistence/ │ └── messaging/ └── interfaces/ # 接口层 └── rest/ 推荐学习顺序 DDDSample-Core: ...
Hello World
Hello World 这是一个验证文档 验证文本。。。