Low coupling và high cohesion là 2 thuộc tính đi với nhau như thể mục tiêu yêu cầu đạt được trong thiết kế, vào nội dung bài viết này, cùng tìm hiểu xem bọn chúng là gì, làm sao để có được và né tránh các lỗi liên quan cho coupling cùng cohesion lúc xây đắp phần mềm.quý khách hàng vẫn xem: Loosely coupled là gì

COUPLING

Low couplingloose coupling hay high coupling và tight coupling, ắt hẳn ai vào bọn họ lúc học về các nguyên lý lập trình căn bản những biết về khái niệm coupling này. Coupling đề cùa tới vụ việc phụ thuộc vào lẫn nhau thân những component. Low coupling, loose coupling có nghĩa là những component ít dựa vào vào nhau, sự biến đổi vào component này ít khi, hoặc không ảnh hưởng đến component tê. trái lại, high coupling cùng tight coupling cho biết những component dựa vào nhiều vào với nhau, lúc thay đổi 1 component thì các component tê phần đông bị ảnh hưởng và có công dụng phải thay đổi theo. Tất nhiên, low coupling là kim chỉ nam bọn họ phải tìm hiểu để đảm bảo an toàn cho hệ thống không nhiều bị tác động Khi có thay đổi cùng cho nên vì vậy, tăng vận tốc thực hiện các bước với bảo trì.

Bạn đang xem: Loose coupling là gì


*

Nếu bọn họ chú ý vào hình trên, nó mang đến chúng ta thấy một mọt contact thân nhị class được Hotline là tight coupling. Class1 ngơi nghỉ trên tạo nên những đối tượng người sử dụng của Class2 thẳng, và thậm chí là là đi đến những biến thành viên cùng truy vấn vào. Điều này khiến cho nó khôn cùng phụ thuộc vào vào Class2. Điều gì đã xảy ra trường hợp họ ra quyết định rằng chúng ta mong muốn thêm tmê mẩn số cung cấp vào constructor của Class2 với đặt mặc định là private? Sau đó, bọn họ phải đổi khác đầy đủ cách áp dụng Class2 sống phần đa vị trí. Không đẹp nhất lắm, heh? Có thể là một cơn chóng mặt rất lớn với là một trong những trong số những vấn đề trước tiên trong thi công.

Dưới đây là ví dụ bởi code:

public class ClassA private boolean attributeA; public int methodA() if(attributeA) return new ClassB().attributeB; return -1; public String getValue() return new ClassB().getValue(); public class ClassB public int attributeB; public String getValue() return "Heh?!?";

MỘT SỐ GIẢI PHÁP

LAW OF DEMETER (DON’T TALK TO STRANGERS!)

Lợi điểm của Law of Demeter là nó góp khối hệ thống của chúng ta đứng vững trước phần nhiều biến đổi bằng phương pháp sút coupling hay còn được gọi là giải pháp design loose coupling, rất nhiều sự biến đổi đã là nhỏ độc nhất nếu như hoàn toàn có thể.

Xem thêm: Jual Kunci F Kun Là Ai - 4 Cara Untuk Memainkan Kunci F Di Gitar

COHESION

Còn high cohesion (trái ngược với nó là low cohesion) là gì? khi nói tới cohesion chúng ta suy nghĩ mang lại trách nhiệm của từng module. Nhiệm vụ của từng module càng ví dụ và tách biệt thì cohesion càng tốt (high cohesion), cùng đó là kim chỉ nam đề nghị đạt tới mức Khi thi công. Giải ham mê bằng code có lẽ rằng sẽ không còn rõ ràng, hãy lưu ý câu dưới đây:

Tại kỳ họp Quốc hội vật dụng năm, khi bàn thảo về làm chủ unique dọn dẹp an ninh thực phẩm tất cả vị đại biểu Quốc hội vẫn ví bài toán có tới 5 cỗ chịu trách nát nhiệm chính như thế cũng giống như “những sãi không một ai đóng cửa chùa”.Bởi nuốm, nắm rõ trách nhiệm của từng phòng ban quản lý Nhà nước về bình yên thực phđộ ẩm là một trong những kinh nghiệm được nhấn mạnh vấn đề Lúc kiến tạo Dự Luật An toàn thực phẩm.

Xem thêm: Charlie Munger Là Ai ? Bi Kịch Cuộc Đời Và Ý Chí Vươn Lên Thành Huyền Thoại Sống

Đến phía trên có thể ai ai cũng gọi được rồi đúng không? Ít nhất là về phương diện kim chỉ nan, hãy chú ý bảng sau trước lúc mình bước vào các dẫn giải tiếp theo sau.


Chuyên mục: ĐỊNH NGHĨA
Bài viết liên quan

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *