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

اصول کدنویسی، الگوهای طراحی، Principles، Design Patterns، آموزش برنامه نویسی حرفه ای 1404/7/21
نویسنده: مدرس بهمن آبادی

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

Code Design Principles & Design Patterns

 

مقدمه

ترکیب اصول بنیادین طراحی کد مانند SOLID، DRY و KISS با الگوهای طراحی نرم‌افزار (Design Patterns) رویکردی نظام‌مند برای خلق نرم‌افزارهای قابل نگه‌داری، توسعه‌پذیر و مقیاس‌پذیر فراهم می‌کند. این تلفیق، برنامه‌نویس را از سطح صرفاً «نوشتن کد» به مرحله‌ی «طراحی مهندسی نرم‌افزار» ارتقا می‌دهد و زمینه‌ساز تولید کدی می‌شود که نه‌تنها عملکرد درستی دارد، بلکه از نظر ساختار، خوانایی و انعطاف‌پذیری نیز در بالاترین استانداردهای فنی قرار دارد.

آموزش اصول فنی و الگوهای طراحی توسط مدرس بهمن آبادی شامل 2 بخش می گردد.

بخش 1: اصول طراحی کد

فصل ۱: مقدمه بر اصول طراحی کد

  1. اهمیت اصول و الگوهای طراحی برای برنامه نویسیان برای جایگاه شغلی عالی و درآمد بالا.

  2. تفاوت بین “کد تمیز” و “کد صرفاً کاربردی”

  3. نقش اصول در نگه‌داری و توسعه‌ی نرم‌افزار

 

فصل ۲: اصول پایه‌ای برنامه‌نویسی

  1. DRY (Don’t Repeat Yourself)

    • حذف تکرار منطق در کد

    • تمرکز بر استفاده مجدد از کد

  2. KISS (Keep It Simple, Stupid)

    • طراحی ساده و قابل فهم

    • پرهیز از پیچیدگی غیرضروری

  3. YAGNI (You Aren’t Gonna Need It)

    • اضافه نکردن قابلیت‌هایی که هنوز نیاز نیستند

  4. SoC (Separation of Concerns)

    • جداسازی بخش‌های مختلف برنامه بر اساس وظیفه

  5. SLAP (Single Level of Abstraction Principle)

    • یک‌دست بودن سطح انتزاع در هر تابع


فصل 3: اصول SOLID

  1. S — Single Responsibility Principle (SRP)

  2. O — Open/Closed Principle (OCP)

  3. L — Liskov Substitution Principle (LSP)

  4. I — Interface Segregation Principle (ISP)

  5. D — Dependency Inversion Principle (DIP)

 

بخش ۲: الگوهای طراحی (Design Patterns)

 فصل ۱: آشنایی با Design Pattern

  1. چرا به الگوهای طراحی نیاز داریم؟

  2. تاریخچه و نقش GoF (Gang of Four)

  3. انواع الگوها (Creational, Structural, Behavioral)

  4. تفاوت بین الگو و اصول (Principles vs Patterns)

فصل ۲: الگوهای ایجادی (Creational Patterns)

هدف: کنترل و بهینه‌سازی فرآیند ساخت اشیاء

  1. Singleton — تضمین وجود تنها یک نمونه از یک کلاس

  2. Factory Method — جداسازی منطق ساخت از منطق استفاده

  3. Abstract Factory — ساخت خانواده‌ای از اشیاء مرتبط

  4. Builder — ساخت اشیاء پیچیده مرحله به مرحله

  5. Prototype — کپی‌کردن اشیاء به‌جای ساخت از صفر

 

فصل ۳: الگوهای ساختاری (Structural Patterns)

هدف: ترکیب یا سازمان‌دهی کلاس‌ها و اشیاء برای ساخت سیستم‌های منعطف

  1. Adapter — سازگار کردن رابط‌های ناسازگار

  2. Bridge — جداسازی abstraction از implementation

  3. Composite — ساخت ساختار درختی از اشیاء

  4. Decorator — افزودن رفتار جدید بدون تغییر کلاس اصلی

  5. Facade — ساده‌سازی دسترسی به سیستم‌های پیچیده

  6. Flyweight — کاهش مصرف حافظه با اشتراک داده‌ها

  7. Proxy — کنترل دسترسی به شیء اصلی

 

 فصل ۴: الگوهای رفتاری (Behavioral Patterns)

هدف: مدیریت تعاملات بین اشیاء و توزیع وظایف

  1. Observer — اطلاع‌رسانی خودکار بین اشیاء

  2. Strategy — تغییر الگوریتم در زمان اجرا

  3. Command — جدا کردن فرمان از اجراکننده

  4. Iterator — پیمایش مجموعه‌ها بدون وابستگی به ساختار داخلی

  5. State — تغییر رفتار شیء بر اساس حالت فعلی

  6. Template Method — تعریف اسکلت الگوریتم با جزئیات قابل تغییر

  7. Chain of Responsibility — زنجیره‌کردن مسئولیت‌ها

  8. Mediator — مدیریت ارتباط بین اشیاء بدون وابستگی مستقیم

  9. Memento — ذخیره و بازیابی وضعیت اشیاء

  10. Visitor — افزودن عملیات جدید بدون تغییر کلاس‌ها

جمع‌بندی :

  • ابتدا اصول طراحی (DRY, KISS, SOLID و غیره) آموزش داده می شوند.

  • سپس Design Patternها با دسته‌بندی و مثال

  • در پایان تمرین ترکیبی: پیاده‌سازی چند Pattern با رعایت اصول SOLID

دوره اصول و الگوهای طراحی در برنامه نویسی

درباره مدرس دوره مهندس بهمن آبادی