Soldemy
0%

SOLID trong Java Spring Boot

Mục lục

3 phút đọc

Mục lục

Cuốn sách đi từ tiêu chí đánh giá thiết kế tới cơ chế Spring, năm nguyên lý SOLID, testing evidence và kiến trúc module. Mỗi chương dựa trên vocabulary và pressure đã hình thành trước đó.

Phần đầu sách

Lời mở đầu trình bày lý do cuốn sách được viết, khoảng trống giữa lý thuyết SOLID và codebase Spring Boot thực tế, đối tượng độc giả cùng lời hứa của sách. Bài Hướng dẫn đọc và sử dụng sách tiếp đó nêu prerequisites, baseline kỹ thuật, cách dùng project companion và lộ trình học qua chín chương.

Chương 1 — Thiết kế tốt và chi phí của thay đổi

Thiết lập thước đo chung: coupling, cohesion, Separation of Concerns, connascence, blast radius và Design Stamina. EnrollmentManager xuất hiện như baseline để được cải thiện xuyên suốt sách.

Chương 2 — Nền tảng Spring Boot cho thiết kế

Giải thích bean, IoC Container, Dependency Injection, constructor injection, bean lifecycle, stereotype annotation và layered structure. Chương phân biệt cơ chế DI với nguyên lý DIP sẽ học sau.

Chương 3 — Single Responsibility Principle

Định nghĩa responsibility theo actor và reason to change, refactor God Service theo change boundary, đồng thời phân tích chi phí của việc tách quá mức.

Chương 4 — Open/Closed Principle

Thiết kế extension point bằng Strategy và Template Method, tổ chức nhiều Spring beans, nhận diện variation axis thật và tránh speculative generality.

Chương 5 — Liskov Substitution Principle

Chuyển trọng tâm từ signature sang behavioral contract: precondition, postcondition, invariant, contract test và quyết định khi nào composition phù hợp hơn inheritance.

Chương 6 — Interface Segregation Principle

Thiết kế client-specific/role interface, phân tích backward force, interface cohesion và lựa chọn Spring Data repository surface theo nhu cầu client.

Chương 7 — Dependency Inversion Principle

Phân biệt DIP, DI và IoC; thiết kế application-owned port từ use case; cô lập JPA/vendor details trong adapter và đặt Composition Root đúng vị trí.

Chương 8 — Thiết kế để test được

Xây testing portfolio theo risk: plain unit test, Test Double, contract test, MVC/JPA slice, Testcontainers, context test và cách đọc test difficulty như design feedback.

Chương 9 — SOLID ở cấp kiến trúc và tổng kết

Đưa SOLID lên package/module boundary, Hexagonal Architecture, Bounded Context, Spring Modulith và architecture test; hoàn thiện module Enrollment qua capstone có rubric.


Phần cuối sách

Gồm lộ trình thực hành sau capstone, glossary dùng chung và danh mục tài liệu tham khảo. Mã nguồn mẫu đi kèm cung cấp phiên bản có thể chạy cho các ví dụ trọng yếu.

Hỏi đáp

Đăng nhập để đặt câu hỏi và tham gia thảo luận.