SOLID là nguyên tắc thiết kế, phát triển phần mềm giúp code dễ đọc, code tốt, code dễ bảo trì, ược ghép lại từ 5 chữ viết tắt đầu tiên của 5 nguyên tắc này:

  • S is single responsibility principle (SRP): Một class chỉ nên giữ 1 trách nhiệm duy nhất
  • O stands for open closed principle (OCP): Có thể thoải mái mở rộng 1 class, nhưng không được sửa đổi bên trong class đó
  • L Liskov substitution principle (LSP): trong 1 chương trình, các object của class con có thể thay thế class cha mà không làm thay đổi tính đúng đắn của chương trình
  • I interface segregation principle (ISP): thay vì dùng 1 interface lớn, ta nên tách thành nhiều interface nhỏ, với nhiều mục đích cụ thể
  • D Dependency injection principle (DIP): các module cấp cao không nên phụ thuộc vào các module cấp thấp, cả 2 nên phụ thuộc vào abstract interface(abtraction) không nên phụ thuộc vào chi tiết mà ngược lại( các class giao tiếp với nhau qua interface, không phải qua implement)

Example:

Single responsibility principle

Stands for open closed principle

Liskov substitution principle

Interface segregation principle

Nên chia interface lớn thành các interface nhỏ khác nhau, việc gom quá nhiều method thì sẽ khó implement(các class kế thừa phải implement tất cả các method của interface đó)

Dependency inversion principle

Xem tại đây