CodeShot
Midسختی 3 از ۵· در 35٪ مصاحبه‌های این حوزه پرسیده شده

Coupling و Cohesion چه هستند و رابطهٔ ایده‌آل بین آن‌ها چیست؟

نشان کردن

پاسخ کوتاه

Coupling میزان وابستگی بین ماژول‌هاست و Cohesion میزان یکپارچگی مسئولیت داخل یک ماژول؛ هدف Coupling کم و Cohesion بالاست.

پاسخ کامل

یک ماژول با Cohesion بالا فقط یک مسئولیت مشخص و مرتبط را انجام می‌دهد؛ Coupling کم یعنی تغییر یک ماژول کمترین اثر جانبی را روی بقیه دارد. این دو معیار پایهٔ اصلی سنجش کیفیت هر طراحی معماری هستند.

نکته مهم

برای مثال بزنید: SRP در SOLID مستقیماً به بالابردن Cohesion و برنامه‌نویسی بر پایهٔ Interface مستقیماً به کاهش Coupling کمک می‌کند.