رفتن به مطلب

الگوهای طراحی در تولید نرم‌افزار چیستند و چه كاربردی دارند؟


ارسال های توصیه شده

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

 

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

لازم است توجه شود كه الگو‌های طراحی به حل مسأله كمك می‌كنند و لی راه‌حل كامل آنرا در اختیار ما نمی‌گذارند، از این جهت شبیه‌ الگوهای لباس هستند كه شكل كلی از طراح را در اختیار ما می‌گذارند ولی برای استفاده مناسب از هر الگو لازم است طراحی با نوآوری و خلاقیت خود آن را در زمینه‌ی مورد نیاز خود بدوزد.

 

بحث الگوها در مهندسی اولین بار در معماری ساختمانی مطرح شد، لكن اولین كسی كه از الگوها برای تولید نرم‌افزار كمك گرفت فردی به نام اریك گاما است كه در سال 1991 در تز دكترای خود به بحث و بررسی الگوها پرداخت. گاما به همراه سه نفر دیگر گروه GoF را تشكیل دادند و در كتابی الگوهای خود را توصیف كردند. این كتاب با استقبال عمومی مواجه شد و از آن پس الگوهای طراحی GoF شهرت بسیاری پیدا كرده، در گستره‌های مختلف علم مهندسی نرم‌افزار به كار گرفته شدند.

 

كارایی و مقبولیت الگوهای طراحی GoF Design Pattern) GoF ) به حدی رسیده است كه امروزه ابزارهای حرفه‌ای CASE بطور مستقیم از آنها پشتیبانی می‌كنند و امكان اعمال الگوهای طراحی GoF را فراهم می‌كنند. از جمله این ابزارها می‌توان از Rational XDE ،Rational Rose و Borland Together نام برد.

لینک به دیدگاه

تقسیم بندی الگوهای پایه GoF الگوهای پایه GoF از لحاظ هدف به سه دسته تقسیم شده‌اند :

 

 

1. الگوهای آفرینشی (Creational)

در فرآیندهای تولید اشیاء استفاده می‌شوند و عبارتند از : Factory Method، Builder، Prototype و Singleton

 

2. الگوهای ساختاری (Structural)

در تركیب كلاس‌ها و اشیاء مورد استفاده قرار می‌گیرند و عبارتند از : Adapter، Bridge، Composite، Decorator، Facade، Flyweight و Proxy

 

3. الگوهای رفتاری (Behavioral)

چگونگی تعامل بین كلاس‌ها یا اشیاء و نحوه‌ی توزیع مسؤولیت بین آنها را مورد بحث قرار می‌دهند و عبارتند از : Chain of responsibility, Command, Interpreter, Iterator, Mediator,Memento, Observer, State, Strategy, Template method و Visitor

 

شخصاً در استفاده از الگوها آنها را بسیار كاربردی یافته‌ام كه هم در سرعت طراحی و هم در كیفیت آن می‌تواند بسیار مفید واقع شود.

لینک به دیدگاه

الگوی شیء مرکب (Composite)

 

مقصود :

تشکیل ساختاری درختی به منظور نمایش سلسله مراتب کل-جزء اشیاء

به Client ها اجازه میدهد با اشیاء ساده و مرکب به شکل یکسان برخورد کنند.

انگیزه :

در برنامه های گرافیکی میتوان با ترکیب اجزای پایه‌ای، اجزای مرکب ساخت

نیاز به مدل کردن اشیاء مرکب مانند اشیاء ساده

کاربرد :

وقتی میخواهیم سلسله مراتب کل-جزء اشیاء را نمایش دهیم

وقتی که میخواهیم مشتریها تفاوتی بین اشیاء ترکیبی و اشیاء بسیط احساس نکنند.

 

 

شرکت کنندگان :

• جزء (Component)

• برگ (Leaf)

• شیء مرکب (Composite)

• مشتری (Client)

 

همکاری‌ها :

• مشتری‌ها واسط کلاس Component را برای تعامل با اشیاء مرکب استفاده می‌کنند.

• اگر دریافت کننده یک برگ باشد، درخواست مستقیما پاسخ داده می‌شود.

• اگر دریافت کننده مرکب باشد، درخواست به فرزندان آن فرستاده می‌شود.

لینک به دیدگاه

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...