Software Design & Design Patterns — pattern không phải mục tiêu mà là kết quả của việc giải quyết một vấn đề thiết kế cụ thể. Đi từ fundamentals (coupling, cohesion, abstraction) → SOLID → refactoring & code smells → design patterns → kiến trúc (DDD, Clean/Hexagonal, CQRS).