Câu hỏi phỏng vấn OOP
Câu hỏi

Sự khác biệt giữa Cohe...

Câu trả lời

Cohesion và Coupling là hai khái niệm quan trọng trong lập trình và thiết kế phần mềm, đặc biệt là trong lập trình hướng đối tượng (OOP). Mặc dù cả hai đều liên quan đến mối quan hệ giữa các module hoặc các thành phần trong một hệ thống phần mềm, nhưng chúng đề cập đến hai khía cạnh khác nhau của thiết kế.

Cohesion đề cập đến mức độ mà các thành phần bên trong một module hoặc một lớp (class) thuộc về nhau. Nói cách khác, nó là chỉ số cho thấy một module hoặc lớp tập trung vào bao nhiêu nhiệm vụ hoặc chức năng. Cohesion cao (High Cohesion) là mục tiêu trong thiết kế phần mềm vì nó giúp làm cho các module hoặc lớp trở nên tự đủ và dễ dàng quản lý, bảo trì cũng như tái sử dụng. Các loại Cohesion bao gồm Functional Cohesion, Procedural Cohesion, Temporal Cohesion, Sequential Cohesion, Layer Cohesion, và Communication Cohesion[5].

Coupling, ngược lại, đề cập đến mức độ phụ thuộc lẫn nhau giữa các module hoặc lớp. Coupling thấp (Low Coupling) là mục tiêu trong thiết kế phần mềm vì nó giúp giảm sự phụ thuộc giữa các module hoặc lớp, làm cho hệ thống dễ dàng thay đổi, mở rộng và bảo trì. Coupling thấp cũng giúp giảm rủi ro khi thay đổi một phần của hệ thống ảnh hưởng đến các phần khác. Các loại Coupling bao gồm Common Coupling, External Coupling, Control Coupling...

senior

senior

Gợi ý câu hỏi phỏng vấn

expert

Tại sao C# không cho phép các phương thức tĩnh thực thi một giao diện?

junior

Trong lập trình OOP, class là gì?

junior

Trong lập trình OOP, constructor là gì?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào