آگاهی از الگوهای طراحی برای هر نوع توسعه جدی نرم افزار بسیار مهم است. بیایید یاد بگیریم که آنها چه هستند ، چه چیزی برای آنها مفید هستند ، و نام و ایده های اساسی در پشت ، تعدادی از محبوب ترین آنها.
الگوهای
"هر الگوی مشکلی را که بارها و بارها اتفاق می افتد توصیف می کند.- کریستوفر الکساندر
الگوهای طراحی برای نرم افزار شی گرا
الگوهای طراحی الگوهای تجزیه و تحلیل نیستند ، توضیحات مربوط به ساختارهای مشترک مانند لیست های پیوندی نیستند ، nore آیا آنها برنامه های کاربردی دقیق یا چارچوب دارند. الگوهای طراحی "توضیحات مربوط به برقراری ارتباط با اشیاء و کلاس هایی است که برای حل یک مشکل طراحی کلی در یک زمینه خاص سفارشی شده اند."- گاما و همکاران.
الگوهای طراحی خوب به انعطاف پذیری و استفاده مجدد نرم افزار شما کمک می کند.
چرا الگوهای طراحی مطالعه
- کارشناسان معماری و طراحی نرم افزار بسیار پرداخت می شوند ، زیرا آنها می دانند چگونه می توانند طرح هایی را ایجاد کنند که انعطاف پذیر ، ظریف و قابل استفاده مجدد باشند.
- شما از طریق تجربه ، متخصص می شوید و از راه حل هایی استفاده می کنید که قبلاً برای شما کار کرده است.
- الگوهای راه حل هایی را برای طراحی مشکلاتی که بارها و بارها اتفاق می افتد توصیف می کند.
- الگوهای همچنین تصمیمات طراحی ، گزینه های دیگر و معاملات حاصل از تجربه را ثبت می کنند.
- هنگامی که این الگوی را بدانید ، بسیاری از تصمیمات طراحی دنبال می شوند.
- دانستن الگوهای به شما کمک می کند تا طرح ها را سریعتر بدست آورید.
- دانستن الگوهای اطراف واژگان به برقراری ارتباط بین طراحان کمک می کند و می تواند تلاش مستندات را آسان کند.
مضامین مشترک در الگوهای طراحی
الگوهای طراحی توسط متخصصان برای انعطاف پذیری و استفاده مجدد از طرح های خود استفاده می شود ، بنابراین در مطالعه آنها تمایل به دیدن:
- جدا کردن کلاس ها یا اشیاء ، بنابراین بدون تغییر چیز دیگری می توان چیزی را تغییر داد."هر الگوی طراحی به برخی از جنبه های سیستم اجازه می دهد تا مستقل از جنبه های دیگر متفاوت باشد ، از این طریق یک سیستم نسبت به نوع خاصی از تغییر قوی تر می شود."
- عناصر موجود در الگویی که می دانند چگونه یک کار کلی را خیلی خوب انجام دهند و در مورد هر چیز دیگری چیز دیگری نمی دانند.
- تلاش برای ساده سازی کد ، برای خواندن آن ، قابل درک تر.
- تأکید عمده بر رابط ها ("برنامه به رابط ، نه به اجرای") و در مورد تمایز بین انواع و کلاس ها.
- طرفداری از ترکیب شیء بر وراثت طبقاتی: وراث بیش از حد منجر به انفجار تعداد کلاس ها در یک سیستم می شود.
برخی از نمونه های دنیای واقعی
- MVC Smalltalk از Observer برای توصیف رابطه بین دیدگاه ها و یک مدل ، کامپوزیت برای توصیف دیدگاه های تو در تو و استراتژی برای رابطه بین کنترل کننده ها و دیدگاه ها استفاده می کند.
- در Java AWT ، مؤلفه ها کامپوزیت هستند ، مدیران طرح استراتژی هستند و از ناظران برای نظارت بر بارگیری تصویر استفاده می شود.
- بیشتر چارچوب های کاربردی از روشهای کارخانه برای ایجاد نوع صحیح سند استفاده می کنند.
23 الگوی از کتاب
الگوهای برای استفاده مجدد است
هر الگوی به شما امکان می دهد برخی از جنبه های سیستم را تغییر دهید.
علل طراحی مجدد و الگوهای مربوط به آنها:
- مشخص کردن کلاس یک شی به صراحت (کارخانه انتزاعی ، روش کارخانه ، نمونه اولیه)
- درخواست های کد نویسی سخت (فرمان ، زنجیره ای مسئولیت)
- وابستگی های پلت فرم سخت افزار و نرم افزار (کارخانه انتزاعی ، پل)
- وابستگی به بازنمایی ها و اجرای شی (کارخانه انتزاعی ، یادداشت ، پل ، پروکسی)
- وابستگی های الگوریتمی (استراتژی ، سازنده ، تکرار ، روش الگو ، بازدید کننده)
- اتصال تنگ (نمای ، واسطه ، ناظر ، فرماندهی ، کارخانه انتزاعی ، پل)
- زیر طبقه بندی برای گسترش عملکرد (پل ، کامپوزیت ، دکوراتور ، زنجیره ای مسئولیت ، کامپوزیت ، استراتژی)
- عدم توانایی در تغییر راحت کلاس ها (بازدید کننده ، دکوراتور ، آداپتور)
الگوهای موجود در مطالعه موردی ویرایشگر سند
- کامپوزیت برای نشان دادن ساختار سند. گلیف ها را می توان لانه کرد
- استراتژی برای اجازه دادن به الگوریتم های مختلف قالب بندی
- دکوراتور برای افزودن مرزها و غیره به رابط کاربری
- کارخانه انتزاعی برای پشتیبانی از استانداردهای چندگانه نگاه و احساس
- پل برای اجازه دادن به چندین سیستم عامل پنجره ای
- فرمان برای پشتیبانی از خنثیسازی
- تکرار برای عبور از ساختارهای شیء
- بازدید کننده برای اضافه کردن قابلیت های تحلیلی جدید امکان پذیر است
ابتدا با مطالعه ساده ترین الگوهای شروع کنید
آداپتور ، دکوراتور ، کامپوزیت ، ناظر ، روش الگو ، روش کارخانه ، کارخانه انتزاعی ، استراتژی.
لیست 23 الگوی اصلی
| هدف | الگوی طراحی | جنبه (ها) که می تواند متفاوت باشد |
| خلاقیت | کارخانه انتزاعی | خانواده های اشیاء محصول |
| سازنده | چگونه یک شیء کامپوزیت ایجاد می شود |
| روش کارخانه | زیر کلاس شیء که فوری است |
| نمونه اولیه | کلاس شیء که فوری است |
| مجری | تنها نمونه یک کلاس |
| ساختاری | آداپتور | رابط به یک شی |
| پل | اجرای یک شیء |
| کامپوزیت | ساختار و ترکیب یک شی |
| تزیین کننده | مسئولیت های یک شی بدون زیر طبقه بندی |
| شکل | رابط به زیر سیستم |
| وزن | هزینه های ذخیره اشیاء |
| پروکسی | نحوه دسترسی به یک شی ؛موقعیت آن |
| وابسته به رفتار | زنجیره مسئولیت | شیء که می تواند یک درخواست را برآورده کند |
| فرمان | چه موقع و چگونه یک درخواست برآورده می شود |
| مترجم | گرامر و تفسیر یک زبان |
| اشاره گر | چگونه به یک عناصر کل دسترسی پیدا می کند ، عبور می کند |
| واسطه گر | چگونه و کدام اشیاء با یکدیگر تعامل دارند |
| یادگار | چه اطلاعات خصوصی در خارج از یک شیء ذخیره می شود و چه موقع |
| مشاهده کننده | تعداد اشیاء که به یک شی دیگر بستگی دارند. چگونه اشیاء وابسته به روز می شوند |
| حالت | حالتهای یک شیء |
| استراتژی | یک الگوریتم |
| روش الگوی | مراحل الگوریتم |
| بازدید کننده | عملیاتی که می تواند برای شی (ها) بدون تغییر کلاس (ES) آنها اعمال شود < pan> شیء که می تواند یک درخواست را انجام دهد |
اخبار رمز ارزها...
ما را در سایت اخبار رمز ارزها دنبال می کنید
برچسب : نویسنده : علیمحمد افغانی بازدید : 25 تاريخ : پنجشنبه 19 مرداد 1402 ساعت: 13:19