Design Pattern در صنعت توسعهٔ نرمافزار به سولوشنهایی برای مسائل مختلفی گفته میشود که دولوپرها معمولاً در فرآیند کدنویسی با آنها مواجه میشوند که پیش از این توسط دولوپرهای حرفهای و باتجربه در حوزهٔ OOP (برنامهنویسی شیئگرا) ابداع شدهاند و پس از سالها استفاده آزمایش خود را پس دادهاند.
اساساً الگوهای طراحی به منزلهٔ یکسری اصطلاحاً Best Practice هستند که دولوپرها فارغ از حوزهای که در آن مشغول به کار هستند قادر خواهند بود تا با پیروی از آنها تضمین کنند که پروژهٔ ایشان اصولی، قابلنگهداری و قابلتوسعه است. به بیانی دیگر، الگوهای طراحی که به منزلهٔ زبانی مشترک مابین دولوپرهای مختلف هستند این امکان را فراهم میآورند تا با سرعت بیشتری دست به توسعهٔ نرمافزار زد مضاف بر اینکه تبعیت از چنین راهکارهایی این تضمین را ایجاد میکند که در آینده با مشکلات عدیدهای که سالها پیش دولوپرها در توسعهٔ پروژههای بزرگ و کوچک با آنها دست و پنجه نرم کردهاند مواجه نشده و نرمافزارمان از یک معماری اصولی برخوردار باشد (برای کسب اطلاعات بیشتر در این خصوص، توصیه میکنیم به مقالهٔ Design Pattern چیست؟ در وبلاگ سکان آکادمی مراجعه نمایید.)
تقسیمبندی الگوهای طراحی
به طور کلی، الگوهای طراحی به سه دستهٔ Structural ،Creational و Behavioral تقسیمبندی میشوند که هر کدام از این شاخهها نیز به زیرشاخههای مختلف تقسیم میشوند که برخی از مهمترین آنها عبارتند از:
- Creational Patterns
-- Factory
-- Builder
-- Object Pool
-- Prototype
-- Singleton
- Structural Patterns
-- Adapter
-- Bridge
-- Composite
-- Decorator
-- Facade
- Behavioral Patterns
-- Command
-- Observer
-- Strategy
-- Template
-- Visitor
به منظور تسهیل فرایند آموزشی، در این سری از آموزشها باکسهایی به صورت زیر استفاده خواهند شد تا مخاطبین دوره بهتر بتوانند برخی از نکات مهم این دورهٔ آموزشی را به خاطر بسپارند.
نکته نکاتی که منجر به درک بهتر موارد مطروحه میشوند، در قالب باکسهای سبز رنگی به این شکل در اختیار دانشجویان قرار خواهند گرفت. هشدار برنامهنویسان مبتدی در برخی موارد باید دقت بیشتری به خرج دهند تا در آینده با سردرگمی کمتری مواجه شوند و به همین منظور هم هشدارهای این دورهٔ آموزشی در قالب باکسهای قرمز رنگی به این شکل در معرض دید دانشجویان قرار خواهند گرفت. به خاطر داشته باشید برخی نکات هستند که مخاطبین این دورهٔ آموزشی باید به خاطر بسپارند چرا که در آموزشهای آتی به آنها نیاز خواهند داشت که کلیهٔ این نکات در قالب باکسهای آبی رنگی به این شکل عرضه خواهند شد.