Kể từ khi cuốn sách kinh điển của Uncle Bob ra đời, Clean Architecture đã trở thành kim chỉ nam cho nhiều đội ngũ phát triển. Tuy nhiên, việc áp dụng máy móc đã tạo ra những con quái vật phần mềm: một ứng dụng CRUD đơn giản nhưng có tới 15 project con và hàng chục file interface trung gian.
Bảng so sánh: Pragmatic Clean vs Giáo điều
| Khía cạnh | Áp dụng Giáo điều | Tư duy Thực tế (Pragmatic) |
|---|---|---|
| Số tầng (Layers) | Luôn luôn đủ 4-5 tầng riêng biệt | Bắt đầu từ 2-3 tầng, mở rộng khi cần |
| Interface | Interface cho mọi class dù chỉ có 1 implementation | Chỉ dùng Interface khi có polymorphism hoặc để mock test |
| DTO Mapping | Map dữ liệu qua 4 loại DTO khác nhau giữa các tầng | Tái sử dụng trực tiếp khi cấu trúc không thay đổi |
Quy tắc vàng: Tách biệt Business Logic
Mục tiêu lớn nhất và duy nhất của Clean Architecture là: Quy tắc nghiệp vụ của bạn không được phụ thuộc vào Framework hay Cơ sở dữ liệu. Nếu ngày mai bạn muốn đổi từ MySQL sang PostgreSQL hoặc từ Laravel sang Symfony, lõi nghiệp vụ vẫn phải nguyên vẹn.