الگوهای طراحی با توجه به کاربردها و اهدافی که به آن منظور ارائه شده اند، به سه دسته عمومی Creational Design Patterns، Structural Design Patterns، Behavioral Design Patterns تقسیم میشوند.
الگوهای طراحی سازنده (Creational Design Patterns)
به الگوهای طراحی که برای حل مشکلات مربوط به ایجاد اشیا در نرم افزار ارائه شده اند، الگوهای طراحی سازنده یا Creational میگویند. متداولترین دیزاین پترنهای سازنده عبارتند از :
- Singleton
- Factory Method
- Prototype
- Abstract Factory
- Builder
- Object Pool
الگوهای طراحی ساختاری(Structural Design Patterns)
الگوهای طراحی ساختاری یا Structural، مجموعه ای از راه حل هایی هستند که برای حل مشکلات توسعه پذیری ساختار نرم افزارها، به کمک برنامه نویسان میآیند. این دیزاین پترنها برای مدیریت ارتباط میان کلاسها و شیها با یکدیگر استفاده میشوند. این الگوهای طراحی عبارتند از :
- Adapter
- Decorator
- Facade
- Bridge
- Composite
- Flyweight
- Proxy
الگوهای طراحی رفتاری (Behavioral Design Patterns)
الگوهای طراحی رفتاری یا Behavioral مجموعه ای از راهکارهای کدنویسی مربوط به تعامل و ارتباط اشیا هستند. این الگوهای طراحی عبارتند از:
- Chain of responsibility
- Strategy
- Iterator
- Command
- Mediator
- Memento
- Observer
- State
- Template Method
- Visitor
مهمترین مزایای استفاده از آنها میتوان به موراد زیر اشاره کرد:
- افزایش مقیاس پذیری (scalability)
- افزایش قابلیت توسعه پذیری (expandability)
- افزایش انعطاف پذیری (flexibility)
- افزایش سرعت توسعه نرم افزارها
- کاهش خطاها و مشکلات
- کاهش میزان کدنویسی