DDD(2)——“图书管理系统”,DDD 完整架构范例
- 架构笔记
- 2023-10-07
- 1421热度
- 0评论
图书管理系统 (book-management-system) │ ├─ 用户界面层 (ui) │ ├─ controller │ │ ├─ UserController.java │ │ ├─ BookController.java │ │ └─ LoanController.java │ └─ dto │ ├─ UserDTO.java │ ├─ BookDTO.java │ └─ LoanDTO.java │ ├─ 应用层 (application) │ ├─ service │ │ ├─ UserService.java │ │ ├─ BookService.java │ │ └─ LoanService.java │ └─ dto │ ├─ UserDTO.java │ ├─ BookDTO.java │ └─ LoanDTO.java │ ├─ 领域层 (domain) │ ├─ model │ │ ├─ user │ │ │ ├─ User.java │ │ │ └─ UserEmail.java (Value Object) │ │ ├─ book │ │ │ ├─ Book.java │ │ │ ├─ ISBN.java (Value Object) │ │ │ └─ BookStatus.java (Enumeration) │ │ └─ loan │ │ ├─ Loan.java │ │ ├─ LoanId.java (Value Object) │ │ └─ LoanStatus.java (Enumeration) │ ├─ service │ │ ├─ BookDomainService.java │ │ └─ LoanDomainService.java │ ├─ event │ │ └─ BookLoanedEvent.java │ └─ repository │ ├─ UserRepository.java │ ├─ BookRepository.java │ └─ LoanRepository.java │ └─ 基础设施层 (infrastructure) ├─ config │ └─ DatabaseConfig.java ├─ repository │ ├─ db │ │ ├─ DbUserRepository.java │ │ ├─ DbBookRepository.java │ │ └─ DbLoanRepository.java │ └─ cache │ └─ CacheUserRepository.java └─ utils └─ NotificationService.java
上述结构展示了一个图书管理系统的 DDD 架构,包括用户、图书和借阅三个主要的领域概念。在实际的项目中,每一个类、服务和仓库内部可能还有许多的方法和逻辑,但为了简洁,这里仅列出了结构和主要的类名。