Backend nền tảng
I1 · Nguyên lý SOLID
S – Single Responsibility: mỗi class một nhiệm vụ.
I1 · Middle · cốt lõi
5 quy tắc để code như đồ Lego: mỗi mảnh làm một việc, lắp thêm được mà không phải phá mảnh cũ.
Cốt lõi
- S – Single Responsibility: mỗi class một nhiệm vụ.
- O – Open/Closed: mở để mở rộng, đóng để sửa đổi.
- L – Liskov Substitution: lớp con thay thế được lớp cha.
- I – Interface Segregation: interface nhỏ, chuyên biệt.
- D – Dependency Inversion: phụ thuộc vào abstraction, không vào cài đặt cụ thể.
Đánh đổi
OOP sạch, dễ bảo trì, dễ mở rộng. Áp dụng quá tay → over-engineering.
Trong thực tế
Nền tảng của hầu hết codebase hướng đối tượng dễ bảo trì.
Bug thường gặp
Một class "Service" vài nghìn dòng làm mọi việc → sửa tính năng này làm hỏng tính năng khác.
Tự hỏi lại
Cho ví dụ vi phạm Liskov (Square kế thừa Rectangle).