Adapter Design Pattern
الگوی طراحی آداپتور
آداپتور یک الگوی طراحی ساختاری است که به اشیا با رابط های ناسازگار اجازه همکاری می دهد.
تصور کنید دستگاه های الکترونیکی مختلفی با دوشاخه های برق مختلف دارید و می خواهید همه آنها را به یک پریز برق متصل کنید. به جای اصلاح دستگاه ها ما از آداپتورها برای این تبدیل استفاده می کنیم. این آداپتورها به عنوان واسطه عمل کرده و به هر دستگاه اجازه میدهند به طور یکپارچه به پریز متصل شوند.
به طور مشابه، الگوی طراحی آداپتور به کلاسهای ناسازگار اجازه میدهد با ارائه یک پوشش (آداپتور) که شکاف بین رابطهایشان را پر میکند، با هم کار کنند.
چه زمانی باید از آن استفاده کنیم؟
زمانی که نیاز داریم یک کلاس موجود را در کد خود بگنجانید، اما رابط آن با بقیه سیستم شما هماهنگ نیست، از کلاس Adapter استفاده کنید.
مزایا و معایب با استفاده از الگوی طراحی آداپتور، S و O را از اصول SOLID انجام می دهیم، اگرچه در برخی شرایط می تواند پیچیدگی کد را افزایش دهد. صحبت کافی است، بیایید کد را در عمل ببینیم.
نحوه پیاده سازی آداپتور در سی شارپ
فرض کنید چند کد قدیمی با رابط های سازگار داریم.
و اکنون ما یک اینترفیس جدید داریم که توسط بقیه کدها انتظار می رود
حال بیایید یک کلاس آداپتور بسازیم که OldSystem را با INewSystem سازگار کند
اکنون ببینیم چگونه می توانیم از آن استفاده کنیم.