الگوی آداپتور

در مهندسی نرم‌افزار، الگوی آداپتور (Adapter pattern) یک الگوی طراحی نرم‌افزار است که به رابط یک کلاس اجازه می‌دهد تا توسط رابط دیگری مورد استفاده قرار گیرد. معمولاً با این هدف مورد استفاده قرار می‌گیرد که بدون تغییر در کد منبع، بتوان استفاده از کلاس‌های فعلی را مقدور ساخت.

تعریف 
یک آداپتور به دو رابط ناسازگار اجازه می‌دهد تا بتوانند با هم کار کنند. این یک تعریف کلی از مفهوم آداپتور است. ممکن است رابط ها ناسازگار باشند ولی قابلیت درونی آنها باید سازگار با نیاز باشد. الگوی طراحی آداپتور از طریق تبدیل رابط یک کلاس به رابط مورد انتظار توسط کلاینت، به کلاس‌های ناسازگار اجازه می‌دهد تا بتوانند از قابلیت‌های همدیگر استفاده کنند و به یکدیگر اطلاعات و دیتای لازم را منتقل کنند. به عنوان مثال، یک کلاس را در نظر بگیرید که سرویس گزارش دما را ارائه می‌کند و واحد دمای گزارش‌ شده توسط این کلاس، فارنهایت است، اما مشتری این عدد را به واحد سلسیوس می‌خواهد. برای حل این مشکل می‌توانیم برای کلاس ذکر شده، یک کلاس adapter بنویسیم که دمای گزارش شده را می‌گیرد و با انجام محاسبات لازم، به واحد سلسیوس تبدیل می‌کند و در نهایت به مشتری تحویل می‌دهد.

ساختار 
دو نوع الگوی آداپتور وجود دارد:

الگوی آداپتور شیء 
در این نوع الگوی آداپتور، آداپتور حاوی یک نمونه (شیء) از کلاسی است که آن را در بر می‌گیرد. در این حالت، آداپتور از این شیء برای رفع نیازهای تعیین شده استفاده می‌کند.

الگوی آداپتور کلاس 
این نوع آداپتور از رابط های چندریختی استفاده می کند.

منابع 

 

الگوهای طراحی نرم‌افزار