الگوی طراحی

از ویکی‌پدیا، دانشنامهٔ آزاد
پرش به: ناوبری، جستجو

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

الگوی طراحی در مهندسی نرم‌افزار[ویرایش]

انواع الگوهای طراحی[ویرایش]

در ابتدا چندین الگوی طراحی زیربنایی در زمینه مهندسی کامپیوتر مطرح گشت که تعداد آنها حدود ۲۰ عدد بود. ولی اکنون الگوهای طراحی به بیش از ۱۰۰ عدد رسیده به طوری که دیگر نمی‌توان تمامی آنها را در یکجا نام برد.

تعدادی از معروفترین الگوهای طراحی را در زیر نام می‌بریم:
الگوی طراحی آداپتور
الگوی طراحی دستور
الگوی طراحی پل
الگوی طراحی دکوراتور
الگوی طراحی کارخانه
الگوی طراحی وارونگی کنترل

هسته تفکری[ویرایش]

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

  • پیاده‌سازی را از واسط برنامه(interface) جدا کنید.
  • هیچگاه پیاده‌سازی را استفاده نکرده بلکه تنها از واسط‌های برنامه استفاده کنید. همچنین عده‌ای بر این نظرند که الگوهای طراحی به دلیل مشکلاتی که نوع تفکر در یک زبان برنامه‌نویسی دارد بوجود آمده‌اند و اگر به طرز تفکری ایده‌آل در زمینه زبان‌های نرم‌افزاری برسیم دیگر نیازی نیست تا راه‌کارهایی غیرمعمول برای مشکلات استفاده کنیم.در هر حال تا رسیدن به آن نقطه آرمانی می‌توان از الگوهای طراحی برای حل مشکلات خاص استفاده نمود.

کتاب‌های الگوی طراحی[ویرایش]

  • A Pattern Language نوشته شده توسط کریستوفر الکساندر در زمینه ساخت شهرها و ساختمان‌ها (معماری)
  • Design Patterns کتاب (Gang-of-four) نوشته اریک گاما. معرفی و توضیح چندین الگوی طراحی برای برنامه‌های شی‌گراست که نحوه پیاده‌سازی را نیز در زبان ++C نشان داده‌است (مهندسی نرم‌افزار)
  • Head First Design Patterns نوشته اریک و الیزابت فریمن. این کتاب یکی از کتاب‌هایی است که سعی در آموزش ومطرح کردن الگوهای طراحی به شیوه‌ای کاملاً ساده و جذاب نموده‌است.

منابع[ویرایش]