نماد سایت امپراطوری من

آشنایی با Design Patterns

Design Patterns

الگوهای طراحی کدنویسی یا همان Design Patterns، نشان دهنده‌ی راه حل‌ها و تجربیات برنامه‌نویسان در زبان‌های شی‌گرا(Object Oriented) هستند. به بیان دیگر Design Patterns راه‌حل‌های عمومی برای حل مشکلاتی هستند که برنامه‌نویسان ممکن است در حین توسعه نرم افزار با آنها روبرو شوند. این راه‌حل‌ها عموما با آزمون و خطا، توسط تعداد زیادی از برنامه‌نویسان و طی یک مدت زمان قابل توجهی به دست آمده‌اند. در نتیجه آگاه بودن از آنها به یک برنامه نویس کمک می‌کند تا کدنویسی بهتر و بهینه‌تری داشته باشد.

Gang of Four چیست؟

در سال 1994، چهار نویسنده به نام‌های Erich Gamma، Richard Helm، Ralph Johnson و John Vlissides کتابی را تحت عنوان “Design Patterns – Elements of Reusable Object-Oriented Software” منتشر کردند که آغازگر معرفی مفاهیم الگوهای طراحی در توسعه نرم‌افزار بود.

این چهار نویسنده، مجموعا تحت عنوان Gang of Four شناخته شدند. بر اساس گفته این چها نویسنده الگوهای طراحی بر پایه دو اصل زیر بناگذاری شده اند:

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


Design Pattern ها چه استفاده‌ای دارند؟

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


انواع Design Patterns

بر اساس مطالب کتابی که در مقدمه معرفی کردیم، تعداد 23 الگوی طراحی وجود دارد که به سه دسته  تقسیم بندی می‌شوند.

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

Structural: ساختاری. این الگوها در مورد ترکیب‌بندی Class و Object هستند. در واقع این الگوها به دنبال استفاده از مفهوم ارث بری برای نوشتن Interface ها و تعریف کردن راه هایی برای ساختن اشیائی هستند که قادر باشند در زمان اجرا ویژگی‌های جدیدی به دست آورند.

Behavioral: رفتاری؛ این الگوهای طراحی به طور خاص بر روی ارتباط بین اشیاء تمرکز دارند.

خروج از نسخه موبایل