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

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

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

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

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

online-support-icon