Loose Coupling (لوس کاپلینگ)


Loose Coupling به نوعی معماری در توسعهٔ سیستم‌های نرم‌افزاری گفته می‌شود که در آن، کامپوننت‌ها یا بخش‌های مختلف اپلیکیشن تا حد ممکن مستقل از یکدیگر خواهند بود. به عبارت دیگر، این اصطلاح به میزان ارتباط مستقیم ماژول‌های مختلف اپلیکیشن با یکدیگر اطلاق می‌گردد.

هدف اصلی رویکرد یا معماری Loose Coupling، کاهش هرگونه ریسکی است که پس از اعمال یکسری تغییرات در یکی از کامپوننت‌ها ممکن است به صورت ناخواسته در دیگر کامپوننت‌های اپلیکیشن ایجاد گردد. در واقع، به حداقل رساندن ارتباطات داخلی کامپوننت‌ها می‌تواند این تضمین را ایجاد کند که در صورت نیاز به ایجاد یک تغییر در بخشی از اپلیکیشن، صرفاً کامپوننت مد نظر را تغییر داده و عملکرد دیگر کامپوننت‌ها تحت‌الشعاع قرار نخواهد گرفت (بر همین منوال، چنانچه در یکی از کامپوننت‌ها باگی ایجاد گردد، صرفاً می‌بایست آن کامپوننت را به دنبال باگ گشته و این معماری فرایند دیباگینگ را به مراتب راحت‌تر و سریع‌تر می‌نماید).

اپلیکیشنی که با معماری Loose Coupling طراحی شده باشد را به سادگی می‌توان به ماژول‌های مختلفی تقسیم‌بندی کرد. به طور مثال وب اپلیکیشنی را در نظر بگیریم که بخش‌های مختلفی همچون مدیریت کاربران، مدیریت محتوا، مدیریت پرمیشن‌ها و غیره را دارا است. چنانچه هر کدام از این ماژول‌ها اصطلاحا Stand Alone باشد یا به تنهایی بتوانند مورد استفاده قرار گیرد، می‌گوییم که معماری اپلیکیشن ما اصطلاحاً Loosely Coupled است.

البته در نظر داشته باشیم که معماری Loose Coupling دارای یکسری نقاط ضعف هم می‌باشد. به طور مثال، در اپلیکیشن‌هایی که ماژول‌های مختلف آنها نیاز به تبادل دیتای زیادی با یکدیگر دارند، Loose Coupling مشکل‌زا خواهد شد.


لیست نظرات
کاربر میهمان
دیدگاه شما چیست؟
کاربر میهمان
محسن
محسن
۱۳۹۷/۰۱/۲۳
loose coupling در مقابل مفهوم tight coupling قرار داره
در tight coupling وابستگی بین اجزا بیشتر هست
در دنیای کامپیوتر یک مفهومی وجود داره به اسم یا شفافیت، که برعکس معنی شفافیت در دنیای واقعی که مثلا میگیم شیشه شفاف هست، در علم کامپیوتر و شکبه وقتی می گیم شفافیت یعنی، پشت قضیه معلوم نیست
یکی از این شفافیت ها location transparency، یا شفافیت در مکان هست به این معنی که: سرویسی یا دیتاییی که به کاربر ارایه میشه مستقل از مکان کاربر و مکان قرارگیری منبع هست.
در نظر گرفتن مفهوم loose coupling و استفاده از وب سرویس های از جمله عناوینی هستند که برای برقراری location transparency خیلی مورد توجه قرار می گیرن و از ارکان اصلی این شفافیت محسوب میشن.
Insight
Insight
۱۳۹۷/۰۱/۲۲
کاهش وابستگی و ایجاد واحدهای مستقل اصولا به افزایش سطح کیفی یک نرم‌افزار و Bug-Free شدن اون کمک میکنه.
یکی از مهمترین معایب Coupled Units، سرعت پایینی‌ست که نتیجه وابستگی این دو مولفه به هم دیگه‌ست.
ضمنا در صورت بروز مشکل در یک مولفه، بدلیل وابستگی‌ای که با سایر مولفه‌ها وجود داره، عملکرد اونها هم با مشکل مواجه میشه.
به‌طور کلی یک پروژه نرم‌افزاری بهتره Loosely Coupled باشه مگر در مواقع خاص.