کلمه جو
صفحه اصلی

الگوی طراحی

فرهنگ فارسی

راه‌حل عمومی تکرارپذیر برای یک مسئلۀ متداول در طراحی نرم‌افزار


دانشنامه عمومی

الگوهای طراحی (به انگلیسی: Design Patterns) الگوها و مستنداتی از روش های حل برای مشکلات رایج در برنامه نویسی شیءگرا هستند. این الگوها ابتدا توسط کریستوف الکساندر ارائه شد و سپس از سوی گروهی موسوم به دسته چهار (به انگلیسی: Gang of Four) یا به اختصار GOF مورد طبقه بندی قرار گرفت و تحت عنوان کتابی به نام الگوهای طراحی در سال ۱۹۹۴منتشر شد.
نام و طبقه بندی: نام الگو و توصیفی کوتاه برای آن را شامل می شود.
قصد: متنی کوتاه در پاسخ به این پرسش که: این الگو چکاری را انجام می دهد؟ هدف و تفکر پشت این کار چیست؟ و این الگو چه مسالی را حل می نماید؟
نام دیگر: در صورتی که نام شناخته شدهٔ دیگری برای آن وجود دارد ذکر گردد.
انگیزه: سناریویی که در آن از الگوی طراحی استفاده شده باشد و اینکه چگونه از کلاس و شی برای حل مشکل استفاده شده است.
قابلیت کاربردی: توصیفگر شرایط است که این الگو در آن قابل پیاده سازی است.
ساختار: یک نمایش گرافیکی است که براساس تکنیک مدلسازی شیء نمایش داده می شود (که امروزه از زبان مدل سازی یکپارچه برای این کار استفاده می شود)
شرکت کنندگان: کلاس یا اشیا شرکت کننده در الگوی طراحی و بیان مسئولیت هایشان.
همکاری: چگونگی همکاری شرکت کنندگان در الگو
پیاده سازی: نکات پیاده سازی را بیان می نماید.
کد نمونه: مثالی به زبان سی++ یا اسمال تاک (امروزه زبان جاوا جایگزین شده است)
مثال های شناخته شده: مثال هایی از کاربرد در سیستم های واقعی
الگوهای مرتبط: چه الگوهایی شبیه این الگو هستند؟ و تفاوت های اساسی بین آن های چیست؟
کریستوف الکساندر الگوی طراحی را راه حلی برای مسایلی می داند که دایماً در محیط اطراف رخ می دهد، از این رو می توان بدون دوباره کاری در آینده مسایل را با سرعت بالاتری حل نمود.
در طراحی نرم افزارهای مختلف مسایلی دایماً بروز می یابند که در پروژه های قبلی، که حتی دارای قلمرو کاربردی (به انگلیسی: Application Domain) مختلفی هستند، نیز وجود دارند. راه حل موجود برای این روش های غالباً یکسان است و یافتن طراحی مناسب برای این موارد تکراری وقت گیر و هزینه بر است. از این رو می توان راه حل هایی را ارائه نمود که مسایل را ساده نماید. از طرفی روح برنامه نویسی شیءگرا بر مبنای قابلیت باز-استفادگی (به انگلیسی: ReUse) و جز-محوری (به انگلیسی: Component-Based) است، موجب ایجاد برنامه هایی قابل استفاده در آینده خواهد شد.اریک گاما ،ریچارد هلم، رالف جانسون، جام ولیسایدز که بعدها به دستهٔ۴ معروف شدند در سال ۱۹۹۴ کتاب الگوهای طراحی را به همراه مقدمه ای از سوی گریدی بوش به رشتهٔ تحریر درآوردند. این کتاب به دسته بندی ۲۳ الگوهای طراحی می پرداخت که تا آن زمان ابداع شده بودند. گریدی بوش در مقدمهٔ کتاب الگوهای طراحی از الگوهای طراحی به عنوان راه حلی برای ایجاد سیستم های پیچیده نام می برد و از آن به عنوان زبانی نام می برد که می تواند بر روی دامنه های مختلفی مورد استفاده قرار گیرند.
گاما و همکارانش از ارایهٔ روش تصویری برای هر الگو خودداری نمودند. به جای آن از روش توصیف نوشتاری آبوت استفاده نمودند. هر الگو دارای یک قالب است که عبارتند از:

فرهنگستان زبان و ادب

{design pattern} [رایانه و فنّاوری اطلاعات] راه حل عمومی تکرارپذیر برای یک مسئلۀ متداول در طراحی نرم افزار


کلمات دیگر: