Tài liệu tham khảo
Danh mục dưới đây gồm các nguồn chính định hình định nghĩa, cơ chế và quyết định kỹ thuật của sách. Các chương diễn giải lại bằng cấu trúc và ví dụ riêng trong domain LMS; danh mục không hàm ý sách sao chép trình tự hay ví dụ của từng nguồn.
SOLID và thiết kế hướng đối tượng
Robert C. Martin, Agile Software Development: Principles, Patterns, and Practices. Prentice Hall.
Robert C. Martin, Clean Architecture: A Craftsman's Guide to Software Structure and Design. Prentice Hall.
Robert C. Martin, Clean Code: A Handbook of Agile Software Craftsmanship. Prentice Hall.
Barbara Liskov và Jeannette Wing, “A Behavioral Notion of Subtyping”, ACM Transactions on Programming Languages and Systems, 1994.
Martin Fowler, Refactoring: Improving the Design of Existing Code, 2nd edition. Addison-Wesley.
Architecture và domain boundary
Eric Evans, Domain-Driven Design: Tackling Complexity in the Heart of Software. Addison-Wesley.
Alistair Cockburn, “Hexagonal Architecture”, https://alistair.cockburn.us/hexagonal-architecture/.
Martin Fowler, “Bounded Context”, https://martinfowler.com/bliki/BoundedContext.html.
Martin Fowler, “Inversion of Control Containers and the Dependency Injection Pattern”, https://martinfowler.com/articles/injection.html.
Spring Boot và Java
Spring Boot Reference Documentation, https://docs.spring.io/spring-boot/reference/.
Spring Framework Reference Documentation — Core Technologies và Testing, https://docs.spring.io/spring-framework/reference/.
Spring Data Commons Reference Documentation, https://docs.spring.io/spring-data/commons/reference/.
Spring Modulith Reference Documentation, https://docs.spring.io/spring-modulith/reference/.
Oracle, Java SE 21 & JDK 21 Documentation, https://docs.oracle.com/en/java/javase/21/docs/.
Testing và architecture verification
Martin Fowler, “Mocks Aren't Stubs”, https://martinfowler.com/articles/mocksArentStubs.html.
Gerard Meszaros, xUnit Test Patterns: Refactoring Test Code. Addison-Wesley.
JUnit 6 User Guide, https://docs.junit.org/current/user-guide/.
ArchUnit User Guide, https://www.archunit.org/userguide/html/000_Index.html.
Nguồn dự án và tài liệu bổ trợ
Khalil Stemmler, solidbook: An Ontology of Software Design, Architecture and Testing with TypeScript. Sách được dùng để đối chiếu kinh nghiệm thiết kế; các ví dụ trong cuốn sách này được xây dựng riêng cho Java Spring Boot.
Grokking SOLID Design Principles, tài liệu bổ trợ dùng để đối chiếu progression sư phạm.