SOLID là gì?

Phần mềm được xem là tốt khi khi nó có kiến trúc tốt. Kiến trúc phần mềm tương tự như móng nhà, móng yếu nhà sẽ không vững. Để viết được phần mềm tốt bạn phải học rất nhiều, điều đầu tiên bạn cần biết là SOLID.

SOLID là 5 nguyên tắc cơ bản trong việc thiết kế phần mềm. Nó giúp chúng ta tổ chức sắp xếp các function, method, class một cách chính xác hơn. Làm sao để kết nối các thành phần, module với nhau.

SOLID sẽ giúp bạn tạo ra các phần tốt hơn, bao gồm:

  • Rõ ràng, dễ hiểu.
  • Dễ thay đổi.
  • Tái sử dụng.

Solid giúp tạo các phần mềm tốt hơn

Solid giúp tạo các phần mềm tốt hơn

Rõ ràng, dễ hiểu:

Teamwork là điều không thể tránh trong lập trình. Áp dụng SOLID vào công việc bạn sẽ tạo ra các hàm tốt, dễ hiểu hơn. Giúp cho bạn và đồng nghiệp đọc hiểu code của nhau tốt hơn.

Dễ thay đổi:

SOLID giúp tạo ra các module, class rõ ràng, mạch lạc, mang tính độc lập cao. Do vậy khi có sự yêu cầu thay đổi, mở rộng từ khách hàng, ta cũng không tốn quá nhiều công sức để thực hiện việc thay đổi.

Tái sử dụng:

SOLID khiến các lập trình viên suy nghĩ nhiều hơn về cách viết phần mềm, do vậy code viết ra sẽ mạch lạc, dễ hiểu, dễ sử dụng.

Như vậy SOLID là gì?

Như đã nói, SOLID là 5 nguyên tắc cơ bản trong việc thiết kế phần mềm. Lịch sử của nó bắt đầu từ những năm 80 của thế kỷ 20. Lúc bấy giờ, hàng ngàn lập trình viên đã tranh cãi về các nguyên tắc cơ bản của phần mềm. Trải qua 20 năm, các nguyên tắc được tối giản lại thành SOLID, đó là:

  • SRP - Single Responsibility Principle: mỗi module, class hoặc function chỉ có một lý do để thay đổi.
  • OCP - The Open-Closed Principle: phần mềm phải dễ thay đổi, nó phải được thiết kế sao cho khi thêm chức năng mới, ta chỉ cần thêm code mới, không cần phải thay đổi code cũ.
  • LSP - The Liskov Substitution Principle, phần mềm nên được thiết kế bởi các thành phần dễ dàng hoán đổi cho nhau.
  • ISP - The interface Segregation Principle, phần mềm nên tránh bị phụ thuộc vào những thứ chúng không sử dụng.
  • DIP - The Dependency Inversion Principle, những module cấp cao không nên phụ thuộc vào những module thấp hơn. Thay vào đó nó nên phụ thuộc vào sự trừu tượng hóa.

Hơi bị hack nào rỗi phải không? Ở những bài viết sau tôi sẽ giải thích chi tiết hơn về SOLID.

Các môn học khác

SQL là ngôn ngữ truy vấn mang tính cấu trúc, nó cho phép bạn truy cập và sử dụng database.

Khóa học này cung cấp cho ta kiến thức nền tảng về công nghệ Blockchain, Bitcoin. Vì sao nó được gọi là công nghệ của tương lai, vì sao giá Bitcoin lại cao đến vậy. Làm sao để mua Bitcoin, ETH.

Chương trình thường được xây dựng quanh dữ liệu và logic để xử lý chúng. Nói cách khác: Program = Cấu trúc dữ liệu + giải thuật. Do vậy đây là môn học bắt buộc dành cho các lập trình viên.