SOLID là gì? 5 nguyên tắc của SOLID Mới nhất 2022

image 1 1746

Thủ Thuật Hướng dẫn SOLID là gì? 5 nguyên tắc của SOLID Mới Nhất

READ ALSO

Cách thông số kỹ thuật kỹ thuật SMTP Gmail WordPress mới nhất 2022

Top 5 trang tạo website miễn phí tốt nhất 2022

Để việc làm lập trình trở nên hiệu suất cao hơn, một nguyên tắc riêng được thiết lập cho việc lập trình hướng đối tượng người dùng – SOLID. Vậy, SOLID là gì? SOLID có những nguyên tắc gì? Vì sao SOLID lại giúp việc lập trình hướng đối tượng người dùng trở nên thuận tiện và đơn thuần và giản dị, hiệu suất cao hơn? Group sẽ giải đáp tương hỗ cho bạn.

NỘI DUNGSOLID là gì?READ ALSO5 nguyên tắc của SOLIDVì sao SOLID giúp lập trình trở nên hiệu suất cao?Giải thích rõ ràng 5 nguyên tắc SOLIDS – Single-responsibility Principle – Nguyên tắc trách nhiệm đơn lẻO – Open-closed Principle – Nguyên tắc đóng mởL – Liskov Substitution Principle – Nguyên tắc phân vùng LiskovI – Interface Segregation Principle – Nguyên tắc phân tách giao diệnD – Dependency Inversion Principle – Nguyên tắc hòn đảo ngược phụ thuộcNhững thắc mắc thường gặp về SOLIDNên đặt tên biến, class ra làm sao?Làm sao để vận dụng SOLID hiệu suất cao?Tải ứng dụng lập trình nào để code hiển thị sinh động hơn?Nên học lập trình ở đâu?SOLID là gì?

Trong khi xây dựng một ứng dụng ứng dụng, những bạn sẽ luôn phải sẵn sàng đương đầu với việc thay đổi code hoặc xây dựng thêm một vài tính năng mới và cả việc bảo dưỡng ứng dụng theo một cách định kỳ.

Để đảm bảo được điều này, code của bạn phải ngăn nắp – ngăn nắp, khi chúng ta sửa chữa thay thế hoặc tăng cấp ứng dụng, những bạn sẽ không còn phải “đau khổ” nhớ lại tôi đã làm gì, hay loay hoay kiểm tra class nào là của class nào…

Nếu bạn thiết kế code của bạn xấu, những bạn sẽ nhận lấy “khổ đau” về sau, vì vậy bộ 5 nguyên tắc SOLID Ra đời nhằm mục đích tương hỗ cho bạn cũng trọn vẹn có thể thiết kế được một ứng dụng có cấu trúc tốt hơn.

Nguồn: SuccessiveTech

5 nguyên tắc của SOLID

SOLID là viết tắt của 5 thành phần như sau:

S – Single-responsibility Principle – Nguyên tắc trách nhiệm đơn lẻO – Open-closed Principle – Nguyên tắc đóng mởL – Liskov Substitution Principle – Nguyên tắc phân vùng LiskovI – Interface Segregation Principle – Nguyên tắc phân tách giao diệnD – Dependency Inversion Principle – Nguyên tắc hòn đảo ngược phụ thuộc

Được Robert C Martin (hay còn gọi với tên thường gọi thân thương là “Uncle Bob”) đề xuất kiến nghị vào năm 2000, SOLID trở nên phổ cập khi phát hành quyển sách Agile Software Development, Principles, Patterns, and Practices vào năm 2003.

Vì sao SOLID giúp lập trình trở nên hiệu suất cao?

Ngay khi chúng ta đọc 5 nguyên tắc trên, bạn đã sở hữu thể hiểu được mình nên làm gì rồi đúng không ạ? Và đấy là những nguyên do tại sao SOLID tương hỗ cho bạn lập trình trở nên hiệu suất cao hơn.

Sự rõ ràng và dễ hiểu

Tất nhiên, một ứng dụng rất hiếm khi được phát triển độc lập bởi một thành viên duy nhất, mà đó là kết quả thao tác của toàn bộ một nhóm nhiều người. Vì vậy, vận dụng SOLID để khiến code của bạn trở nên ngăn nắp, ngăn nắp sẽ tạo nên tình cảm với đồng nghiệp, cũng như khiến teamwork trở nên hiệu suất cao hơn.

Dễ dàng sửa đổi và tăng cấp

Khi nhìn vào code và nhân ra ngay vai trò của từng class hoặc vị trí của từng hàm, những bạn sẽ thuận tiện và đơn thuần và giản dị sửa đổi hoặc tăng cấp chương trình ứng dụng tôi đã viết. Bạn cũng tiếp tục đỡ tốn thời hạn để tìm hiểu lại chính code của tớ và giúp những người dân khác đã có được tương hỗ update để chữa cháy, họ cũng trọn vẹn có thể hiểu code của bạn có ý nghĩa ra làm sao và tương hỗ cho bạn.

Khả năng tái sử dụng

Nếu chọn đi theo con phố lập trình, chắc như đinh trong suốt cuộc sống những bạn sẽ tham gia không biết bao nhiêu dự án công trình bất Động sản. Vì thế, bạn làm code của bạn trở nên ngăn nắp và có ghi chú rõ ràng thành từng module tách biệt, bạn cũng trọn vẹn có thể mở dự án công trình bất Động sản cũ lên copy và sử dụng lại lần nữa. Điều này sẽ làm thời hạn của bạn được tiết kiệm chi phí thật nhiều đấy!

Giải thích rõ ràng 5 nguyên tắc SOLID

S – Single-responsibility Principle – Nguyên tắc trách nhiệm đơn lẻ

Giải thích một cách đơn thuần và giản dị hơn, Single-responsibility Principle là “từng người 1 việc”.

Khi thiết kế ứng dụng, bạn nên làm để mỗi lớp – class chỉ có một trách nhiệm/ một hiệu suất cao nhằm mục đích để:

Khả năng kiểm thử: trong trường hợp bạn kiểm thử, những bạn sẽ phải tâm ý thấp hơn để test class, vì class đó chỉ có một hiệu suất cao xác lập duy nhất.Tạo ít quan hệ phụ thuộc: chỉ một hiệu suất cao cho một class sẽ giảm thiểu những phụ thuộc qua lại lẫn nhau Một trong những hiệu suất cao.Tính lớp lang: bạn làm một lớp nhỏ, tiếp theo đó bạn cũng trọn vẹn có thể tìm tới lớp to nhiều hơn. Việc này sẽ tương hỗ cho bạn sắp xếp ứng dụng của tớ hiệu suất cao hơn.

Ví dụ: Bạn tạo ra một nơi để tàng trữ sách và những thuộc tính gồm có: tên, sách, tên tác giả, nội dung và hiệu suất cao in sách ra như sau:

public class Book {
private String name;
private String author;
private String text;
public String replaceWordInText(String word)
return text.replaceAll(word, text);

public boolean isWordInText(String word)
return text.contains(word);

public class Book
void printTextToConsole()

Điều này vi phạm nguyên tắc trách nhiệm đơn lẻ. Vì thế, những bạn sẽ phải tách hiệu suất cao tàng trữ và hiệu suất cao in sách ra thành 2 class rất khác nhau.

Lớp xử lý sách bạn cũng trọn vẹn có thể tạo ra class mới như sau:

public class BookPrinter
void printTextToConsole(String text)

void printTextToAnotherMedium(String text)

Để tránh việc sau này những bạn sẽ phải “mệt” với việc kiểm thử và sắp xếp sửa đổi hiệu suất cao.

O – Open-closed Principle – Nguyên tắc đóng mở

Thay vì bạn sửa đổi trực tiếp những dòng code hiện có và tạo ra rủi ro không mong muốn tiềm ẩn tiềm ẩn tiềm ẩn cho lỗi hỏng cả ứng dụng. Bạn chỉ việc sử dụng phương thức mở rộng và thừa kế class trước đó là ổn.

Ví dụ bạn code ra một cây đàn Guitar có luôn 1 nút vặn âm lượng như sau:

public class Guitar
private String make;
private String model;
private int volume;

Giờ đây, bạn thấy cây đàn Guitar của tớ hơi thường thì quá, bạn có nhu yếu muốn đốt cháy cây đàn để người theo dõi của bạn phấn khích hơn. Nếu bạn thêm thẳng thuộc tính: private String flameColor; vào bên trong class Guitar, kĩ năng cao cây đàn của những bạn sẽ bị hỏng thật sự.

Thay vì như vậy, bạn chỉ việc mở rộng thêm một class GuitarCoolNgauBungLua thừa kế từ Guitar như sau để cây đàn của bạn không biến thành hỏng:

public class GuitarCoolNgauBungLua extends Guitar

private String flameColor;

L – Liskov Substitution Principle – Nguyên tắc phân vùng Liskov

Một trong những nguyên tắc khá phức tạp và khó để hiểu… Nguyên tắc phân vùng Liskov: nếu class A là con/class dẫn xuất của class B, class A phải trọn vẹn có thể thay thế vị trí của class B mà không làm chương trình bị lỗi.

Group sẽ lý giải dễ hiểu nhất như sau:

Một con vịt giả có hình thức bề ngoài giống hệt con vịt thật. Tuy nhiên, con vịt giả cần pin để kêu “cạp cạp” => bạn không còn một con vịt thật.

Hoặc một ví dụ khác ví như sau:

Ta sẽ đặt Đk như sau: nhân viên cấp dưới chính thức sẽ tiến hành điểm danh vào buổi sáng, bạn thêm class checkAttendance(). Tuy nhiên, nhân viên cấp dưới lao công tạp vụ trong thời điểm tạm thời không được điểm danh nhưng lại trỏ vào class Employee trở nên sai nguyên tắc phân vùng Liskov.

Cách xử lý và xử lý: bạn cũng trọn vẹn có thể tách checkAttendance() ra một lớp khác và trỏ những nhân viên cấp dưới ở những bộ phận khác nằm dưới lớp checkAttendance() và trỏ ngược lên lớp Employee.

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

Nguyên tắc phân tách giao diện dễ hiểu hơn nguyên tắc phân vùng Liskov thật nhiều. Với nguyên tắc phân tách giao diện, bạn chỉ việc phân nhỏ giao diện lớn thành nhiều giao diện nhỏ hơn thích hợp hơn.

Ví dụ:

Bạn là một người một người nuôi gấu trong sở thú. Bạn sẽ tiến hành lập trình với trách nhiệm như sau:

public interface NguoinuoiGau
void washTheBear();
void feedTheBear();
void petTheBear();

Tuy nhiên, việc chăm sóc 1 con gấu cho chúng ăn và vuốt ve chúng là 2 việc làm tách biệt nhau, chưa tính, việc vuốt ve gấu là rất nguy hiểm. Vì thế, những bạn sẽ nên phải tách việc nuôi gấu thành 3 thành phần tách biệt như sau để giao đúng người hơn.

public interface BearCleaner
void washTheBear();

public interface BearFeeder
void feedTheBear();

public interface BearPetter
void petTheBear();

Đối với nhân viên cấp dưới thường thì, bạn cũng trọn vẹn có thể giao trách nhiệm tắm rửa và cho gấu ăn. Bằng dòng code sau:

public class BearCarer implements BearCleaner, BearFeeder
public void washTheBear()

public void feedTheBear()

Còn việc làm nguy hiểm hơn, “điên hơn” bạn cũng trọn vẹn có thể gửi gắm cho một người dân có bản lĩnh hơn như sau:

public class NguoiBanLinh implements BearPetter
public void petTheBear()

D – Dependency Inversion Principle – Nguyên tắc hòn đảo ngược phụ thuộc

Bạn trọn vẹn có thể hiểu nguyên tắc này như sau: 1 thành phần trong một chương trình nên làm tùy từng một giá trị trừu tượng – abstraction chứ tránh việc tùy từng một giá trị nào rõ ràng cả.

Ví dụ: Khi mua một máy tính đời mới, nhà phát hành bo mạch chủ không nhất thiết phải ghi nhận bạn có nhu yếu muốn gắn ổ cứng SSD hay HDD, họ chỉ việc phát triển ra một bo mạch chủ trọn vẹn có thể gắn cả hai loại ổ nhờ vào của tiếp xúc SATA để bạn cũng trọn vẹn có thể gắn vào.

Qua nội dung bài viết, Group kỳ vọng bạn đã hiểu hơn về SOLID là gì rồi cũng như 5 nguyên tắc SOLID. Chúc bạn vận dụng nguyên tắc SOLID vào việc làm lập trình của tớ một cách hiệu suất cao nhất!

Những thắc mắc thường gặp về SOLID

Nên đặt tên biến, class ra làm sao?

Bạn chỉ việc đảm nói rằng những tên biến, tên class… Không bị trùng nhau, không biến thành trùng với những tên hàm, thư viện và function khác.

Đặt tên có tính gợi nhớ về việc chúng có hiệu suất cao ra làm sao

Nếu bạn đặt tên theo phong cách a, b, c, d… Điều này chỉ thích hợp khi chúng ta còn học và làm những bài tập mẫu trong trường học.

Làm sao để vận dụng SOLID hiệu suất cao?

Như trong bài đã đề cập và chính bản thân mình nguyên tắc SOLID cũng hướng tới đó đó đó là rõ ràng. Vì vậy, bạn nên khởi đầu bằng việc giữ cho code của tớ trở nên sạch sẽ và thích mắt ngăn nắp, bạn hiểu trước tiếp theo đó là ai nhìn cũng trọn vẹn có thể hiểu là bạn đang trở thành bậc thầy vận dụng SOLID rồi đó!

Tải ứng dụng lập trình nào để code hiển thị sinh động hơn?

Hiện tại, hầu hết những ứng dụng lập trình, IDE đều đã tương hỗ sử dụng sắc tố để phân biệt những class, hàm một cách rõ ràng và trực quan. Bạn trọn vẹn có thể khởi đầu với Notepad++ cũng là một ý hay đấy!

Nếu bạn đang tìm một IDE trọn vẹn miễn phí, bạn cũng trọn vẹn có thể tải và sử dụng Visual Studio miễn phí phiên bản dành riêng cho lập trình viên độc lập/ sinh viên.

Nên học lập trình ở đâu?

Nếu bạn có nhu yếu muốn học lập trình web, bạn cũng trọn vẹn có thể học tại W3School trọn vẹn miễn phí, Openplanning sẽ tương hỗ cho bạn học nhiều ngôn từ khác hơn thế nữa. Đối với những ngôn từ mới phát triển mới gần đây, bạn cũng trọn vẹn có thể học tại ngay chính những website của nhà phát triển ngôn từ lập trình đó.

CÔNG TY CỔ PHẦN TẬP ĐOÀN TINO
Trụ sở chính: L17-11, Tầng 17, Tòa nhà Vincom Center, Số 72 Lê Thánh Tôn, Phường Bến Nghé, Quận 1, Thành phố Hồ Chí MinhVăn phòng đại diện thay mặt thay mặt: 42 Trần Phú, Phường 4, Quận 5, Thành phố Hồ Chí MinhĐiện thoại: 0364 333 333Tổng đài miễn phí: 1800 6734Email: sales@.orgWebsite: www..org

5
/
5
(
2

bầu chọn
)

Tags: tương hỗ Developer

đoạn Clip SOLID là gì? 5 nguyên tắc của SOLID mới nhất?

Bann đang tìm kiếm từ khóa SOLID là gì? 5 nguyên tắc của SOLID 2022-10-21 20:01:27 san sẻ Kinh Nghiệm Hướng dẫn trong nội dung bài viết một cách Chi Tiết.
#SOLID #là #gì #nguyên #tắc #của #SOLID SOLID là gì? 5 nguyên tắc của SOLID
===> Nếu bạn có thắc mắc hay yếu tố gì nội dung bài viết trọn vẹn có thể để lại phản hồi cuối bài nha.

Exit mobile version