SOLID là gì?

SOLID là gì?

OOD viết tắt từ Object-Oriented Design, xét về lĩnh vực phát triển phần mềm thì OOD đóng vài trò quan trọng giúp bạn viết code một cách linh hoạt, mở rộng dễ dàng, có thể giúp ngắn thời gian bảo trì và hơn nữa là tái sử dụng, tiết kiệm được nhiều thời gian hơn. Nói như vậy nó liên quan gì đến khái niệm SOLID ở đây, đúng không liên quan những bạn cũng nên có kiến ​​thức về nguyên tắc SOLID để thiết kế hướng đối tượng tốt trong lập trình. Nguyên tắc SOLID được giới thiệu bởi đại ca Robert C. Martin , còn được gọi là Uncle Bobvà nó là một tiêu chuẩn mã hóa trong lập trình. Nguyên tắc SOLID này là từ viết tắt của năm nguyên tắc được đưa ra dưới đây

  • Single Responsibility Principle (SRP)
  • Open/Closed Principle
  • Liskov’s Substitution Principle (LSP)
  • Interface Segregation Principle (ISP)
  • Dependency Inversion Principle (DIP)

Single Responsibility Principle (SRP) – Nguyên tắc Trách nhiệm Duy nhất

Nguyên tắc này nói rằng một lớp chỉ nên có một lý do để thay đổi có nghĩa là mỗi lớp phải có một trách nhiệm duy nhất hoặc một công việc hoặc một mục đích duy nhất. Đó là định nghĩa, còn bạn và tôi hiểu dưới đây là được.

Ví dụ trong cuộc sống đời thường, đường một chiều là một ví dụ điển hình, đường một chiều chỉ làm một việc là đi về một hướng, nhanh gọn an toàn hơn đường hai chiều. Đường hai chiều luôn nguy hiểm, nguy cơ rủi ro hơn nhiều.

Open/Closed Principle – Nguyên tắc Mở / Đóng

Nguyên tắc này nói rằng `các thực thể phần mềm (class, module, function, v.v.) phải mở để mở rộng, nhưng đóng để sửa đổi có nghĩa là bạn có thể mở rộng hành vi của class mà không cần sửa đổi nó.

Liskov’s Substitution Principle (LSP) – Nguyên tắc thay thế Liskov

Nguyên tắc thay thế Liskov đúng là khó hiểu nhất trong những khái niệm lập trình. Các lớp con hoặc lớp con phải được thay thế cho các lớp cơ sở hoặc lớp cha của chúng. Nguyên tắc này đảm bảo rằng bất kỳ lớp nào là con của lớp cha đều có thể sử dụng được thay cho lớp cha của nó mà không có bất kỳ khó khăn nào.

Interface Segregation Principle (ISP) – Nguyên tắc phân tách giao diện

Nguyên tắc này là nguyên tắc đầu tiên áp dụng cho các Giao diện thay vì các lớp trong SOLID và nó tương tự như nguyên tắc đầu tiên Single Responsibility Principle (SRP) bạn có thể đọc lại nếu chưa rõ. Vì trong javascript không có interfaces nên bạn cũng không cần quan tâm cho lắm, nhưng không có nghĩa là không cần hiểu.

Dependency Inversion Principle (DIP) – Nguyên tắc đảo ngược phụ thuộc

Trước khi chúng ta thảo luận về chủ đề này, hãy nhớ rằng Dependency Inversion và Dependency Injection cả hai đều là những khái niệm khác nhau. Hầu hết mọi người đều nhầm lẫn về nó và coi cả hai đều giống nhau. Bây giờ hai điểm chính ở đây cần ghi nhớ về nguyên tắc này.

Leave a reply:

Your email address will not be published.

Site Footer

Sliding Sidebar

Facebook