Nếu bạn là 1 trong những nhà lập trình sẵn viên hoặc bạn đang công tác làm việc trong ngành xây dựng thì hẳn sẽ sở hữu ít tốt nhất một lần tìm đến cụm từ nguyên tắc SOLID. Lập trình cũng như ngẫu nhiên công việc nào khác, cũng biến thành có các nguyên tắc triển khai để tối ưu hóa hiệu năng suất và bớt thiểu rủi ro khủng hoảng ở nút cao nhất. Và SOLID chính là nguyên lý được nhiều nhà lập trình viên áp dụng vào trong các bước của mình. Vậy SOLID đại diện thay mặt cho điều gì? Hãy thuộc heavencrossrecords.net khám phá trong bài viết sau đây.

Bạn đang xem: Solid là gì? 5 ví dụ dễ hiểu về s


Nguồn nơi bắt đầu của nguyên lý SOLID là gì?

Lập trình hướng đối tượng nói một cách khác là Object Oriented Programming (OOP). OOP là cách làm lập trình cho phép lập trình viên sử dụng những code nhằm trừu tượng hóa một đối tượng người dùng bất kỳ. Quy trình này để giúp tạo ra các đối tượng người dùng nhất định. Đây là trong những phương thức lập trình sẵn được sử dụng thịnh hành nhất hiện tại nay. Nó phù hợp với hầu như các loại ngữ điệu lập trình không giống nhau.


*

Nguyên lý SOLID có nguồn gốc như cố kỉnh nào?


Hiệu năng của OOP được đưa ra quyết định dựa bên trên 4 yếu hèn tố khác nhau:

Tính trừu tượng (abstraction): Bằng câu hỏi sử dụng các lớp trừu tượng, người dùng sẽ khiến cho mô hình của các đối tượng người dùng trong nhân loại thực.Tính đóng gói (Encapsulation): nguyên tố này là để chỉ ngôi trường hợp các thực thể của lớp trừu tượng sở hữu gần như giá trị trực thuộc tính độc lập.Tính kế thừa (Inheritance): yếu tố này cho phép các đối tượng người dùng được phép thừa kế và mở rộng lẫn nhau.Tính nhiều hình (Polymorphism): tùy thuộc vào từng loại đối tượng người tiêu dùng khác nhau, ta rất có thể thực hiện một tiến trình bằng rất nhiều cách thức riêng biệt.

Vậy là ta đã vậy được 4 yếu đuối tố cần thiết để một xây dựng OOP rất có thể phát huy hết tác dụng vốn có của nó. Vậy SOLID thì tương quan gì mang đến OOP? bề ngoài SOLID được hiểu như một cẩm nang giải đáp bạn áp dụng OOP thiệt hiệu quả. Vâng lệnh theo các nguyên tắc SOLID giúp bạn dùng phối kết hợp được 4 hào kiệt của OOP với nhau thiệt nhuần nguyễn.

Khái niệm của nguyên lý SOLID

Nguyên lý SOLID tức thị gì? SOLID trong thiết kế vốn là bộ 5 bề ngoài được cách tân và phát triển bởi 2 tác giả Bob Martin và Michael Feathers. Hầu hết hướng dẫn này sẽ giúp đỡ lập trình viên tạo thành được gần như đoạn code dễ đọc, dễ hiểu, dễ dàng maintain. SOLID là viết tắt của 5 nhiều từ sau:

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

Nguyên tắc trách nhiệm đơn nhất (Single Responsibility Principle)

Nguyên lý SOLID này cho rằng, từng class chỉ nên thực hiện một trọng trách duy nhất. Người dùng không đề nghị cho một class kiêm nhiệm nhiều vận động cùng lúc. Máy nhất, việc phải chia thời gian và công sức cho nhiều quá trình sẽ làm cho giảm công suất hoạt động. Không chỉ có vậy nó còn mất thời gian khi phải chuyển dịch từ công việc này sang quá trình khác. Ngoại trừ ra, câu hỏi chạy đồng thời nhiều quy trình một lúc cũng rất dễ xẩy ra lỗi.


*

Nguyên tắc trọng trách đơn lẻ


Ví dụ, các bạn có một tờ A. Bạn cho lớp A chạy cả công việc X và các bước Y. Rất có thể thời gian đầu bạn sẽ thấy phương pháp làm này huyết kiệm thời hạn tạo các lớp với gán đối tượng người dùng hơn. Tuy nhiên, lúc số lượng công việc tăng lên, liệu rằng bạn có liên tiếp cho lớp A chạy thêm công việc Z, W, J… xuất hiện thêm phía sau tốt không? mỗi lần có thêm 1 công việc, thiết kế viên sẽ phải vào lại lớp A với chỉnh sửa toàn bộ hệ thống. Như vậy rất mất thời gian và còn dễ xảy ra sai sót trong quá trình sửa chữa. Chưa nói đến việc khi một trong những các quá trình cần tạm thời dừng, người dùng cũng bắt buộc lật lại tổng thể hệ thống của A để làm lại.

Vậy nên, các tốt nhất có thể để hạn chế tổng thể những khủng hoảng rủi ro như vậy là cho mỗi lớp một công dụng riêng biệt. Tránh việc gộp nhiều vận động vào và một lớp.

Nguyên tắc đóng góp mở (The Open-Closed Principle)

Nguyên tắc đóng góp mở được dùng để mô tả vận động kế thừa của những lớp. Ví dụ, cùng với một nhân viên công tác trên công ty, anh ta đang thao tác rất tốt, chính vì như vậy ngoài lương cứng anh ta sẽ có thêm một khoản tiền thưởng. Với trường đúng theo như vậy, lựa chọn của người tiêu dùng là lập thêm một lớp bắt đầu cho khoản thưởng (dựa bên trên nguyên tắc riêng biệt phía trên) đúng hay không? Điều này khả thi nhưng lại không hiệu quả. Trường hợp như anh ta bao gồm thêm một khoản thưởng nữa thì sao, khi ấy chúng ta lại phải quay trở về và sửa lớp đại diện cho chi phí thưởng ư? chắc chắn là là cấm kị như vậy. Lập trình giảm bớt nhất là chỉnh sửa bởi nó đem lại khủng hoảng rủi ro về không đúng phạm là rất cao.

Vậy buộc phải trong trường hòa hợp này, các bạn nên sử dụng một lớp kế thừa. Nguyên lý SOLID này chất nhận được đóng lớp chi phí lương với mở lớp tiền thường. Có nghĩa là lớp chủ yếu tiền lương thắt chặt và cố định sẽ không biến thành chịu bất kỳ tác động nào cả. Còn lớp thưởng sẽ nhận ra sự kế thừa của lớp lương để bổ sung cập nhật các tin tức cần thiết. Các bước này kéo dài đến vô hạn các lớp sau. Đây là cách thực hiện rất bình yên và thiện thiện, vừa giúp phát triển code new mà lại không ngại làm hỏng code cũ.


*

SOLID Principles là gì?


Nguyên tắc phân vùng Liskov (The Liskov Substitution Principle)

Phân vùng Liskov là trong số những phần đặc biệt quan trọng của nguyên tắc SOLID. Qui định này giúp giải quyết và xử lý các lỗi thường xẩy ra trong lập trình.

Ví dụ: gồm một đoạn mã biểu hiện những loại chim biết bay. Khi gặp một loài chim ngần ngừ bay như chim cánh cụt, nó sẽ tiến hành gắn với NoFlyException. Mặc dù nhiên, nếu penguin lại tiếp tục xuất hiện nay ở vòng lặp main, lịch trình sẽ auto quăng Exception. Đó thiết yếu là thực chất của cơ chế phân vùng.

Để giải quyết điều này, ta nên phải tách bóc lớp penguin ra một interface riêng. Lý lẽ này xuất hiện là để nhắc nhở lập trình viên để ý đến tính sai phạm của nội dung các đoạn mã lập trình. Nếu như không khi để mang đến lúc dứt mới phát chỉ ra lỗi thì sửa lại rất trở ngại và mất thời gian.

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

Trường hợp thực tiễn của bề ngoài này như sau: chúng ta sở hữu một trung tâm cung cấp các gói du lịch bao hàm những thành phầm như: gói 1, gói 2, gói 3… Các quý khách cùng áp dụng một gói sẽ tiến hành cho vào trong 1 interface chung. Thời gian ban đầu, bạn thấy cách thống trị này rất hợp lý rồi. Mặc dù nhiên, bỗng có những người tiêu dùng muốn thực hiện một gói bao gồm một vài dịch vụ thương mại trong gói 1 cùng một số dịch vụ không giống trong gói 2. Cầm cố là bỗng dưng dưng bao hàm gói mới được phân phát sinh. Càng ngày có càng nhiều quý khách hàng yêu mong gói riêng như vậy. Ví như ta cứ viết phổ biến vào vào interface gói du ngoạn như vậy thì sẽ đề nghị implement những hàm không cần thiết.

Ta sẽ xử lý trường thích hợp này bằng nguyên tắc phân tách giao diện. Hãy bóc các thương mại dịch vụ thành các interface cụ thể khác nhau. Khi đó, người sử dụng yêu cầu thương mại & dịch vụ nào, ta gộp dịch vụ đó thành một gói new cho khách. Nguyên lý SOLID này giúp bạn dễ dàng mở rộng quy mô một cách đối kháng giản.

Xem thêm: " A Stitch In Time Saves Nine Là Gì ? A Stitch In Time Saves Nine Là Gì


*

Áp dụng SOLID để lập trình hiệu quả


Nguyên tắc hòn đảo ngược phụ thuộc vào (Dependency Inversion Principle)

Nội dung của nguyên tắc SOLID này nói về việc những thành phần ví dụ nên dựa vào vào những thành phần trừu tượng. Tại sao là vị những yếu tắc trừu tượng hay ít bị nuốm đổi. Ngược lại, những thành phần rõ ràng tuy khác biệt nhưng luôn mang một quánh tính thông thường để cấu thành nhân tố trừu tượng. Vấn đề giữ tính phụ thuộc vào này giúp lịch trình thích ứng giỏi với các biến đổi liên tục.

Kết luận về nguyên lý SOLID

Với bài lý giải vừa rồi của heavencrossrecords.net, hẳn bạn đọc đã nắm rõ 5 nguyên tắc SOLID dành cho OOP. Tuy nhiên hiểu là một trong chuyện nhưng mà vận dụng thuần thục được lại là chuyện khác. Lời khuyên răn của shop chúng tôi là hãy ghi nhớ thật rõ ràng và tiếp tục áp dụng các nguyên tắc này vào trong công việc của bạn. Chúc chúng ta sớm ngày chinh phục được những nguyên tắc SOLID!

Tìm phát âm thêm về lập trình và tin học tập tại: https://www.youtube.com/c/heavencrossrecords.netAcademy