دوره اصول و الگوهای طراحی در برنامهنویسی (Principles & Design Patterns)
دوره اصول و الگوهای طراحی در برنامهنویسی (Principles & Design Patterns)

مقدمه
ترکیب اصول بنیادین طراحی کد مانند SOLID، DRY و KISS با الگوهای طراحی نرمافزار (Design Patterns) رویکردی نظاممند برای خلق نرمافزارهای قابل نگهداری، توسعهپذیر و مقیاسپذیر فراهم میکند. این تلفیق، برنامهنویس را از سطح صرفاً «نوشتن کد» به مرحلهی «طراحی مهندسی نرمافزار» ارتقا میدهد و زمینهساز تولید کدی میشود که نهتنها عملکرد درستی دارد، بلکه از نظر ساختار، خوانایی و انعطافپذیری نیز در بالاترین استانداردهای فنی قرار دارد.
آموزش اصول فنی و الگوهای طراحی توسط مدرس بهمن آبادی شامل 2 بخش می گردد.
بخش 1: اصول طراحی کد
فصل ۱: مقدمه بر اصول طراحی کد
اهمیت اصول و الگوهای طراحی برای برنامه نویسیان برای جایگاه شغلی عالی و درآمد بالا.
تفاوت بین “کد تمیز” و “کد صرفاً کاربردی”
نقش اصول در نگهداری و توسعهی نرمافزار
فصل ۲: اصول پایهای برنامهنویسی
DRY (Don’t Repeat Yourself)
حذف تکرار منطق در کد
تمرکز بر استفاده مجدد از کد
KISS (Keep It Simple, Stupid)
طراحی ساده و قابل فهم
پرهیز از پیچیدگی غیرضروری
YAGNI (You Aren’t Gonna Need It)
اضافه نکردن قابلیتهایی که هنوز نیاز نیستند
SoC (Separation of Concerns)
جداسازی بخشهای مختلف برنامه بر اساس وظیفه
SLAP (Single Level of Abstraction Principle)
یکدست بودن سطح انتزاع در هر تابع
فصل 3: اصول SOLID
S — Single Responsibility Principle (SRP)
O — Open/Closed Principle (OCP)
L — Liskov Substitution Principle (LSP)
I — Interface Segregation Principle (ISP)
D — Dependency Inversion Principle (DIP)
بخش ۲: الگوهای طراحی (Design Patterns)
فصل ۱: آشنایی با Design Pattern
چرا به الگوهای طراحی نیاز داریم؟
تاریخچه و نقش GoF (Gang of Four)
انواع الگوها (Creational, Structural, Behavioral)
تفاوت بین الگو و اصول (Principles vs Patterns)
فصل ۲: الگوهای ایجادی (Creational Patterns)
هدف: کنترل و بهینهسازی فرآیند ساخت اشیاء
Singleton — تضمین وجود تنها یک نمونه از یک کلاس
Factory Method — جداسازی منطق ساخت از منطق استفاده
Abstract Factory — ساخت خانوادهای از اشیاء مرتبط
Builder — ساخت اشیاء پیچیده مرحله به مرحله
Prototype — کپیکردن اشیاء بهجای ساخت از صفر
فصل ۳: الگوهای ساختاری (Structural Patterns)
هدف: ترکیب یا سازماندهی کلاسها و اشیاء برای ساخت سیستمهای منعطف
Adapter — سازگار کردن رابطهای ناسازگار
Bridge — جداسازی abstraction از implementation
Composite — ساخت ساختار درختی از اشیاء
Decorator — افزودن رفتار جدید بدون تغییر کلاس اصلی
Facade — سادهسازی دسترسی به سیستمهای پیچیده
Flyweight — کاهش مصرف حافظه با اشتراک دادهها
Proxy — کنترل دسترسی به شیء اصلی
فصل ۴: الگوهای رفتاری (Behavioral Patterns)
هدف: مدیریت تعاملات بین اشیاء و توزیع وظایف
Observer — اطلاعرسانی خودکار بین اشیاء
Strategy — تغییر الگوریتم در زمان اجرا
Command — جدا کردن فرمان از اجراکننده
Iterator — پیمایش مجموعهها بدون وابستگی به ساختار داخلی
State — تغییر رفتار شیء بر اساس حالت فعلی
Template Method — تعریف اسکلت الگوریتم با جزئیات قابل تغییر
Chain of Responsibility — زنجیرهکردن مسئولیتها
Mediator — مدیریت ارتباط بین اشیاء بدون وابستگی مستقیم
Memento — ذخیره و بازیابی وضعیت اشیاء
Visitor — افزودن عملیات جدید بدون تغییر کلاسها
جمعبندی :
ابتدا اصول طراحی (DRY, KISS, SOLID و غیره) آموزش داده می شوند.
سپس Design Patternها با دستهبندی و مثال
در پایان تمرین ترکیبی: پیادهسازی چند Pattern با رعایت اصول SOLID
دوره اصول و الگوهای طراحی در برنامه نویسی
درباره مدرس دوره مهندس بهمن آبادی