Coupling là gì?

Noun Programming

Coupling là mức độ phụ thuộc lẫn nhau giữa các mô-đun (module) phần mềm. Một mô-đun có thể là một lớp (class) hoặc một package hoặc thậm chí là một microservice. Coupling là về cách thay đổi một thứ bắt buộc phải thay đổi một thứ khác.

Hai mô-đun có coupling cao (high coupling hoặc tight coupling) nếu chúng được kết nối chặt chẽ. Ví dụ: hai lớp cụ thể lưu trữ các tham chiếu (reference) đến nhau và gọi các phương thức (method) của nhau. Như trong sơ đồ bên dưới, Customer và Order có coupling cao với nhau. Customer đang lưu trữ danh sách tất cả các đơn hàng được đặt bởi khách hàng, trong khi Orderđang lưu trữ tham chiếu đến đối tượng Customer.

Mỗi khi khách hàng đặt hàng mới, chúng tôi cần thêm đơn hàng đó vào danh sách đơn hàng hiện có bên trong Customer. Đây dường như là một sự phụ thuộc không cần thiết. Ngoài ra, Order chỉ cần biết định danh khách hàng và không cần tham chiếu đến đối tượng Customer . Chúng ta có thể làm cho hai lớp có coupling thấp (low coupling) với nhau bằng cách thực hiện những thay đổi sau:

Các mô-đun có coupling thấp giữa chúng hầu như hoạt động độc lập với nhau.

Learning English Everyday