🤔 الگوهای طراحی چیست؟
الگوهای طراحی راهحلهای آزمایششده و قابل استفاده مجدد برای مشکلات رایج در طراحی نرمافزار هستند. این الگوها توسط برنامهنویسان باتجربه در طول سالها کشف و مستندسازی شدهاند.
راهحلهای اثباتشده
بهجای اختراع دوباره چرخ، از راهحلهای آزمایششده استفاده کنید
زبان مشترک
با تیم خود بهراحتی درباره طراحی صحبت کنید
کد بهتر
کد قابل نگهداری، انعطافپذیر و قابل توسعه بنویسید
یادگیری از بهترینها
تجربه برنامهنویسان حرفهای را بیاموزید
برای چه کسانی مناسب است؟
- 🆕 تازهواردان که میخواهند اصول طراحی نرمافزار را یاد بگیرند
- 💼 برنامهنویسان با تجربه که میخواهند دانش خود را تقویت کنند
- 👨🏫 مدرسان که به منابع آموزشی فارسی نیاز دارند
🛤️ مسیر یادگیری پیشنهادی
الگوها به ترتیب از ساده به پیچیده مرتب شدهاند. با دنبال کردن شمارهها، بهترین مسیر یادگیری را طی خواهید کرد.
🌱 سطح مبتدی
الگوهای ساده و پایهای که درک آنها آسان است. از اینجا شروع کنید تا با مفاهیم اولیه آشنا شوید.
- 👑 Singleton - سادهترین الگو برای شروع
- 🏭 Factory Method - یادگیری مفهوم کارخانه
- 👷 Builder - ساخت اشیاء پیچیده
- 🔌 Adapter - تبدیل رابطها
- 🏛️ Facade - سادهسازی رابطها
🌿 سطح متوسط
الگوهای پرکاربرد و مهم که در پروژههای واقعی زیاد با آنها سر و کار خواهید داشت. پس از تسلط به سطح مبتدی، اینها را مطالعه کنید.
- 🎯 Strategy - انتخاب الگوریتم
- 👁️ Observer - الگوی رویداد
- 🎁 Decorator - افزودن قابلیتها
- 🎮 Command - تبدیل درخواست به شیء
- 📋 Template Method - الگوریتمهای قالبی
🌳 سطح پیشرفته
الگوهای پیچیدهتر که نیازمند درک عمیقتری از معماری نرمافزار هستند. این الگوها را بعد از تسلط کامل به سطوح قبل مطالعه کنید.
- 🏗️ Abstract Factory - کارخانههای پیچیده
- 🧬 Prototype - کپیبرداری اشیاء
- 🛡️ Proxy - نمایندهسازی
- 🌉 Bridge - جداسازی انتزاع
- 🌳 Composite - ساختار درختی
- 🪶 Flyweight - بهینهسازی حافظه
- 🔗 Chain of Responsibility - زنجیره مسئولیت
- 🔄 Iterator - پیمایش مجموعهها
- 🤝 Mediator - میانجیگری بین اشیاء
- 📸 Memento - ذخیره وضعیت
- 🎭 State - مدیریت وضعیت
- 👤 Visitor - اعمال عملیات
📚 همه الگوها به ترتیب یادگیری
در اینجا تمام 22 الگوی طراحی به ترتیب مسیر یادگیری پیشنهادی مرتب شدهاند. شمارهها نشاندهنده ترتیب مطالعه هستند.
سطح مبتدی
Factory Method
تعریف رابط برای ایجاد اشیاء، با اختیار تصمیمگیری به زیرکلاسها
سطح متوسط
سطح پیشرفته
Abstract Factory
ایجاد خانوادهای از اشیاء مرتبط بدون مشخص کردن کلاسهای مشخص
Chain of Responsibility
انتقال درخواست در زنجیرهای از دریافتکنندگان تا پردازش شود