آشنایی با الگوی طراحی Adapter


در این مقاله قصد داریم تا دیزاین پترنی تحت عنوان Adapter Design Pattern به همراه ویژگی‌ها و لزوم استفاده از آن در توسعۀ اپلیکیشن را با به‌کارگیری از مثالی در زبان برنامه‌نویسی پی‌اچ‌پی شرح دهیم. به طور کلی، این الگوی طراحی زیرشاخۀ الگوهای Structural (ساختاری) قرار می‌گیرد که دولوپرها با به‌کارگیری از آن می‌توانند اپلیکیشنی انعطاف‌پذیر با قابلیت نگاه‌داری بالا توسعه دهند و ساختار کلاس‌های مد نظر خود را مدیریت کنند. بر اساس تعریف ارائه‌شده در ویکیپدیا برای این دیزاین پترن داریم:

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

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

در پاسخ به این سؤال که چه مواقعی باید از Adapter Design Pattern استفاده کرد هم می‌توان گفت زمانی که اپلیکیشنی را توسعه می‌دهیم که برای انجام تَسک مد نظر به یکسری ای‌پی‌آی خارجی وابسته است یا برنامه‌ای که در آن نیاز به استفاده از فیچرهای کلاسی داریم که ممکن است دیر یا زود دستخوش تغییر شود،‌ بهتر است از این دیزاین پترن استفاده نماییم (جهت آشنایی با مفهوم ای‌پی‌آی، به آموزش API چیست؟ مراجعه نمایید.)

این بخش از محتوا مخصوص کاربرانی است که ثبت‌نام کرده‌اند.
جهت مشاهدهٔ این بخش از محتوا لاگین نمایید.

جمع‌بندی
به طور کلی، در شرایطی که قصد داریم اپلیکیشنی توسعه دهیم که برای انجام تَسک‌های مد نظر نیازمند برقراری ارتباط با یکسری لایبرری‌ و همچنین ای‌پی‌آی‌ یا وب‌سرویس است، سولوشن مناسب برای جلوگیری از هدر رفتن زمان جهت ریفکتور کردن سورس‌کد و مواجه‌ با اِکسپشن‌های احتمالی استفاده از دیزاین پترن اِدَپتر است به طوری که به راحتی می‌توانیم تغییرات احتمالی اِعمال‌شده روی متدها، لایبرری‌ها و ای‌پی‌آی‌های به اصطلاح Third-party را در کلاس‌ها و متدهای متناظر آن‌ها در اپلیکیشن خود نیز اِعمال کنیم.

دانلود فایل‌های تمرین

لیست نظرات
کاربر میهمان
دیدگاه شما چیست؟
کاربر میهمان