0
0
Lập trình
TT

Khám Phá Nguyên Tắc SOLID: Nghệ Thuật Trong Việc Đảm Bảo Sự Thay Đổi Trong Lập Trình

Đăng vào 2 ngày trước

• 3 phút đọc

SOLID: Nguyên Tắc Để Sẵn Sàng Thay Đổi

Trong bài viết trước, tôi đã đề cập đến quan điểm rằng SOLID không phải là những nguyên tắc để tạo ra mã nguồn bất tử, mà là để viết mã dễ dàng thay đổi. Mặc dù cái tên SOLID có thể khiến nhiều người hiểu nhầm, nhưng thực tế, từng nguyên tắc trong đó đều nói về sự thay đổi.

1. Nguyên Tắc Đơn Nhiệm (Single Responsibility Principle)

Nguyên tắc đầu tiên của SOLID khẳng định rằng mỗi class chỉ nên có một lý do để thay đổi. Điều này có nghĩa là khi thiết kế một class, bạn cần đặt ra câu hỏi: "NẾU CẦN THAY ĐỔI, THÌ LÀM SAO?". Hãy chuẩn bị cho tương lai không chắc chắn bằng cách viết class với một nhiệm vụ cụ thể, giúp giảm thiểu xung đột khi có yêu cầu thay đổi hoặc mở rộng. Sự thay đổi ở class A sẽ không gây ảnh hưởng đến class B, vì cả hai đều thực hiện những nhiệm vụ riêng biệt.

2. Nguyên Tắc Mở Đóng (Open/Closed Principle)

Nguyên tắc này cho rằng bạn nên thiết kế hệ thống để sẵn sàng mở rộng mà không cần sửa đổi mã đã có. Điều này không chỉ là quy tắc, mà còn là một yếu tố quan trọng trong việc thiết kế cơ sở mã. Khi xây dựng chức năng, bạn cần chuẩn bị cho khả năng thay đổi trong tương lai, tạo ra cấu trúc mã cho phép việc mở rộng mà không cần thay đổi mã gốc.

3. Nguyên Tắc Thay Thế Liskov (Liskov Substitution Principle)

Nguyên tắc này nhấn mạnh rằng bạn cần viết mã sao cho các lớp con có thể thay thế lớp cha mà không làm thay đổi hành vi của chương trình. Bạn sẽ thường xuyên sử dụng lớp con, và vì vậy, việc đảm bảo tính tương thích giữa lớp cha và lớp con là rất quan trọng để mã có thể dễ dàng thay đổi mà không gặp phải sự cố.

4. Nguyên Tắc Phân Tách Giao Diện (Interface Segregation Principle)

Nguyên tắc này hướng dẫn bạn tránh phụ thuộc vào những hành vi mà bạn không sử dụng. Nếu bạn phải phụ thuộc vào các chức năng không liên quan tới mình, có thể bạn sẽ gặp rắc rối không đáng có. Việc phân tách giao diện giúp mã nguồn trở nên linh hoạt hơn và dễ dàng trong việc quản lý sự thay đổi.

5. Nguyên Tắc Đảo Ngược Phụ Thuộc (Dependency Inversion Principle)

Cuối cùng, nguyên tắc này nhấn mạnh rằng bạn nên phụ thuộc vào các khai báo trừu tượng thay vì vào mã thực thi cụ thể. Khi thay đổi phụ thuộc cứng, bạn sẽ phải đối mặt với những khó khăn và không chắc chắn về kết quả. Việc sử dụng trừu tượng hóa giúp bạn có sự linh hoạt và khả năng thích ứng tốt hơn với các thay đổi trong tương lai.


Kết Luận

Mục tiêu của tôi khi viết bài này là nhấn mạnh 2 chữ thay đổi. Việc viết mã không giống như xây dựng những bức tượng trường tồn; mà là tạo ra những hệ thống có thể thích nghi và phát triển. Các nguyên tắc SOLID thực sự giúp bạn đạt được mã nguồn LIQUID, không chỉ đơn thuần là những nguyên tắc khô khan. Các câu hỏi bạn cần đặt ra là: Nó sẽ thay đổi - Tại sao lại thay đổi - Thay đổi thành cái gì - Thay đổi như thế nào. Khi bạn luôn nhớ đến hai từ thay đổi, nguyên tắc SOLID sẽ trở nên dễ hiểu và gần gũi hơn.

Trong các bài tiếp theo, chúng ta sẽ đi sâu vào từng nguyên tắc một cách chi tiết hơn.
source: viblo

Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào