برای شروع متن خود را بنویسید. همچنین میتوانید با زدن دکمه Enter و سپس از طریق آیکون + عناصر مختلفی را به بلاگ اضافه نمایید.
الگوهای طراحی (Design Patterns) راهحلهای استاندارد و امتحانشده برای مشکلات رایج در طراحی نرمافزار هستند. این الگوها کد آماده نیستند، بلکه روش طراحی را مشخص میکنند.
به طور کلی، الگوهای طراحی به سه دسته تقسیم میشوند:
1. Creational Patterns (الگوهای ایجاد)
این الگوها مشخص میکنند چگونه اشیاء ساخته شوند تا وابستگیها کمتر و مدیریت ساخت بهتر شود.
نمونهها:
- Singleton: فقط یک نمونه از کلاس وجود داشته باشد.
- Factory Method: ساخت شیء را به یک متد یا کلاس دیگر واگذار میکند.
- Abstract Factory: خانوادهای از اشیای مرتبط را ایجاد میکند.
- Builder: اشیای پیچیده را مرحلهبهمرحله میسازد.
- Prototype: با کپی کردن یک شیء موجود، شیء جدید ایجاد میکند.
2. Structural Patterns (الگوهای ساختاری)
این الگوها مشخص میکنند چگونه کلاسها و اشیاء کنار هم قرار بگیرند تا ساختار انعطافپذیر و قابل نگهداری باشد.
نمونهها:
- Adapter: دو کلاس ناسازگار را با هم سازگار میکند.
- Decorator: بدون تغییر کلاس اصلی، قابلیت جدید اضافه میکند.
- Facade: یک رابط ساده برای یک سیستم پیچیده ارائه میدهد.
- Proxy: واسطهای برای کنترل دسترسی به یک شیء است.
- Composite: اشیاء تکی و گروهی را به یک شکل مدیریت میکند.
3. Behavioral Patterns (الگوهای رفتاری)
این الگوها مشخص میکنند اشیاء چگونه با هم تعامل و ارتباط برقرار کنند.
نمونهها:
- Observer: با تغییر وضعیت یک شیء، سایر اشیاء مطلع میشوند.
- Strategy: امکان تغییر الگوریتم در زمان اجرا را فراهم میکند.
- Command: درخواستها را به صورت شیء در میآورد.
- State: رفتار شیء با تغییر وضعیتش تغییر میکند.
- Mediator: ارتباط بین اشیاء را از طریق یک واسطه مدیریت میکند.
- Chain of Responsibility: درخواست را بین چند پردازشکننده عبور میدهد تا یکی آن را انجام دهد.