الگو های طراحی جزو معماری های نرم افزاری نیستند و فقط شیوه ای صحیح از کدنویسی شی گرا را ارائه می دهند.بنابراین این الگو ها فقط در قلمرو کد نویسی شی گرا وارد میشوند و مستقل از زبان های برنامه نویسی هستند.
الگوی طراحی به چه معناست؟
توسعه دهنده ها در توسعه ی نرم افزار با مشکلات زیادی رو به رو میشوند که بعضی از آن ها مشابه هم و تکراری هستند.
در طول زمان راه های زیادی برای حل این مشکلات تکراری ارائه شده است که به بهترین و استانداردترین آن ها الگوهای طراحی میگویند.
نکته: توجه داشته باشید که الگوهای طراحی کد های آماده نیستند بلکه توضیحاتی برای حل مشکلات و چالش های نرم افزاری ما هستند.
مزایای استفاده از الگوهای طراحی چیست؟
- افزایش سرعت توسعه نرم افزارها
- افزایش قابلیت توسعه پذیری
- کاهش خطاها و مشکلات
- افزایش مقیاس پذیری
- افزایش انعطاف پذیری
- کاهش میزان کد نویسی
- قابلیت استفاده ی مجدد کد ها
انواع الگو های طراحی:
الگو های طراحی به سه دسته تقسیم میشوند:
- Creational Design Patterns
- Structural Design Patterns
- Behavioral Design Patterns
1. الگو های طراحی سازنده ( Creational )
به الگو های طراحی که برای حل مشکلات مربوط به ایجاد اشیا در نرم افزار ارائه شده اند، الگوهای طراحی سازنده گفته می شود. مانند الگوهای : Singleton , Prototype
2. الگو های طراحی ساختاری ( Structural )
الگو هایی که برای مشکلات توسعه پذیری ساختار نرم افزار ، به کمک برنامه نویس ها می آیند ، این الگو های طراحی برای مدیریت ارتباط بین کلاس ها و اشیا با یکدیگر استفاده می شوند. مانند الگو های : Composite , Adapter , Facade
3. الگو های طراحی رفتاری ( Behavioral )
به الگو هایی که مربوط به تعامل و ارتباط بین اشیا هستند، الگو های طراحی ساختاری می گویند. مانند الگو های : Command , Iterator , Strategy