Low coupling và high cohesion là 2 trực thuộc tính đi với nhau như thể kim chỉ nam phải dành được vào kiến thiết, vào bài viết này, thuộc khám phá xem chúng là gì, làm thế nào nhằm đã đạt được và nên tránh những lỗi liên quan mang đến coupling với cohesion khi kiến tạo phần mềm.Quý khách hàng đang xem: Loose coupling là gì

COUPLING

Low couplingloose coupling hay high coupling và tight coupling, ắt hẳn ai trong chúng ta khi học về các nguyên lý thiết kế cnạp năng lượng bản mọi biết về có mang coupling này. Coupling đề cập đến vụ việc dựa vào lẫn nhau giữa những component. Low coupling, loose coupling Tức là những component ít dựa vào vào với nhau, sự đổi khác vào component này hiếm khi, hoặc ko ảnh hưởng cho component cơ. Ngược lại, high coupling với tight coupling cho thấy các component phụ thuộc các vào với nhau, khi biến hóa 1 component thì những component kia số đông bị ảnh hưởng cùng có khả năng buộc phải biến hóa theo. Tất nhiên, low coupling là kim chỉ nam bọn họ bắt buộc đào bới nhằm bảo vệ mang lại khối hệ thống không nhiều bị tác động lúc tất cả chuyển đổi cùng do đó, tăng tốc độ thực hiện quá trình với bảo trì.

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


*

Nếu bọn họ nhìn vào hình bên trên, nó đến họ thấy một côn trùng liên hệ thân nhì class được Gọi là tight coupling. Class1 sinh sống trên tạo ra các đối tượng người sử dụng của Class2 trực tiếp, cùng thậm chí còn là đi đến những biến thành viên và truy vấn vào. Điều này tạo cho nó vô cùng phụ thuộc vào vào Class2. Điều gì đang xảy ra nếu như họ ra quyết định rằng họ mong muốn thêm tmê mệt số thêm vào trong constructor của Class2 với đặt mặc định là private? Sau đó, chúng ta yêu cầu chuyển đổi rất nhiều bí quyết sử dụng Class2 ở phần nhiều khu vực. Không đẹp nhất lắm, heh? Có thể là 1 trong cơn chóng mặt không hề nhỏ với là một trong trong số những vấn đề đầu tiên trong xây đắp.

Dưới đó là ví dụ bằng 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 hệ thống của họ tại vị trước phần đa chuyển đổi bằng cách bớt coupling hay có cách gọi khác là phương pháp design loose coupling, số đông sự đổi khác vẫn là bé dại nhất giả dụ có thể.

Xem thêm: Tiểu Sử Jun Phạm - Tên Thật Của Jun Phạm Là Ai

COHESION

Còn high cohesion (trái ngược cùng với nó là low cohesion) là gì? khi kể tới cohesion họ nghĩ về mang đến trách nhiệm của từng module. Nhiệm vụ của từng module càng ví dụ với bóc biệt thì cohesion càng tốt (high cohesion), cùng chính là mục tiêu phải đạt tới mức Lúc xây cất. Giải say mê bởi code chắc rằng sẽ không ví dụ, hãy chu đáo câu bên dưới đây:

Tại kỳ họp Quốc hội sản phẩm năm, khi đàm đạo về cai quản unique vệ sinh bình yên thực phẩm có vị đại biểu Quốc hội đang ví việc gồm tới 5 cỗ Chịu trách nhiệm chính những điều đó tương tự như “nhiều sãi không người nào ngừng hoạt động chùa”.Bởi nắm, nắm rõ trách nát nhiệm của từng phòng ban thống trị Nhà nước về bình an thực phđộ ẩm là 1 hưởng thụ được nhấn mạnh vấn đề Khi thiết kế Dự Luật An toàn thực phđộ ẩm.

Xem thêm: “ Chơi Forex Là Gì ? Chơi Forex Có Giàu Lên Nhanh Chóng Không?

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


Chuyên mục: KHÁI NIỆM
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 *