شاید اولین چیزی که از اسم الگوها (Software Patterns) در نرم افزار به یاد هر برنامه نویس تازه کاری میآید الگوهای طراحی نرم افزار (Software Design Patterns) باشند، اما الگوهای نرم افزاری صرفا به الگوهای طراحی یا همان دیزاین پترن ها (Design Patterns) خلاصه نمیشوند بلکه هر مرحله از فرآیند طراحی و توسعه نرم افزار الگوهای خاص خود را دارد و حتی هر لایه از یک نرم افزار نیز الگوهای خود را دارد، در این پست قصد دارم به معرفی انواع الگوهای نرم افزاری در فرآیند طراحی و توسعه نرم افزارهای رایانه ای بپردازم، از آنجائیکه ارائه نمونه کد و پیاده سازی بسیار طولانی میشود و در یک پست نمیتوان این موارد را آورد، لذا در این پست فقط به معرفی و تعریف هر الگو می پردازم و در پست های بعدی اگر مجالی بود هر الگو به همراه نمونه کد و پیاده سازی معرفی خواهند شد.

برای ساخت آبجکت
ساختار کلاسها
رفتار سیستم
برای پردازش همزمان.
برای سیستمهای BPM و ERP.
در سیستمهای مدرن و Cloud.
برای سیستمهای پیچیده کسبوکار.
مفاهیم:

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

الگوهای Distributed System Patterns
Cloud Design Patterns
الگوهای پالایش (Refactoring Patterns)
فرا الگوها (Meta Patterns)
