کتاب اصول SOLID در طراحی الگوها (Design Patterns): هم‌افزایی برای معماری با فرمت AZW3 برای کتابخوان کیندل و فرمت EPUB

دوره آموزشی اصول SOLID در طراحی الگوها: هم‌افزایی برای معماری معماری نرم‌افزار خود را متحول کنید: دوره جامع اصول SOLID و الگوهای طراحی کدی بنویسید که نه تنها کار می‌کند، بلکه ماندگار، قابل توسعه و قاب...

انتخاب پلن

انتخاب پلن برای ادامه خرید الزامی است.

پرداخت اقساطی
در صورت خرید اقساطی هر قسط: 62,488 تومان
۴ قسط ماهانه. بدون سود، چک و ضامن.
پرداخت اقساطی با دیجی‌پی پرداخت اقساطی با ترب‌پی

🎓 دوره آموزشی جامع

📚 اطلاعات دوره

عنوان دوره: دوره اصول SOLID در طراحی الگوها (Design Patterns): هم‌افزایی برای معماری

موضوع کلی: برنامه نویسی

موضوع میانی: اصول SOLID

📋 سرفصل‌های دوره

  • 1. چرا اصول طراحی نرم‌افزار مهم هستند؟
  • 2. بدهی فنی و هزینه نگهداری نرم‌افزار
  • 3. سودمندی‌های کد تمیز و قابل نگهداری
  • 4. معرفی اصول SOLID: بنیان‌های معماری پایدار
  • 5. تاریخچه و اهمیت اصول SOLID
  • 6. مفاهیم اولیه: انتزاع و کپسوله‌سازی
  • 7. کوپلینگ (Coupling) و انسجام (Cohesion) در طراحی
  • 8. نقش SOLID در قابلیت تست‌پذیری نرم‌افزار
  • 9. اصول معماری: طراحی برای تغییر و انعطاف‌پذیری
  • 10. مرور اجمالی بر هر یک از اصول SOLID
  • 11. اصل مسئولیت یگانه (SRP): یک دلیل برای تغییر
  • 12. تعریف دقیق مسئولیت و شناسایی آن در کلاس‌ها
  • 13. جداسازی دغدغه‌ها (Separation of Concerns)
  • 14. آنتی‌پترن God Object: نشانه‌ای از نقض SRP
  • 15. اعمال SRP در کلاس‌ها و متدها
  • 16. اعمال SRP در ماژول‌ها و سرویس‌ها
  • 17. SRP و لایه پایداری داده (Persistence Layer)
  • 18. SRP و منطق رابط کاربری (UI Logic)
  • 19. SRP و منطق کسب‌وکار (Business Logic)
  • 20. SRP با الگوی Facade: ساده‌سازی اینترفیس‌ها
  • 21. SRP با الگوی Adapter: تطبیق مسئولیت‌ها
  • 22. SRP با الگوی Strategy (مقدماتی): تفکیک رفتارها
  • 23. بازفاکتورینگ برای رعایت SRP
  • 24. مزایای SRP: نگهداری و تست‌پذیری بهبود یافته
  • 25. SRP در سیستم‌های توزیع‌شده و میکروسرویس‌ها
  • 26. اصل باز/بسته (OCP): باز برای توسعه، بسته برای تغییر
  • 27. مفهوم توسعه‌پذیری بدون تغییر کد موجود
  • 28. نقش انتزاع و پلی‌مورفیسم در OCP
  • 29. طراحی برای آینده: پیش‌بینی و مدیریت تغییرات
  • 30. OCP و جلوگیری از تغییرات مخرب در کد
  • 31. OCP با الگوی Strategy: جایگزینی الگوریتم‌ها
  • 32. OCP با الگوی Template Method: تعریف اسکلت الگوریتم
  • 33. OCP با الگوی Decorator: افزودن مسئولیت‌های جدید
  • 34. OCP با الگوی Factory Method: ساخت اشیاء منعطف
  • 35. OCP با الگوی Abstract Factory: ایجاد خانواده‌های مرتبط
  • 36. OCP با الگوی Specification: فیلترینگ و جستجوی منعطف
  • 37. چگونگی طراحی کلاس‌های قابل توسعه
  • 38. بازفاکتورینگ برای رعایت OCP
  • 39. مزایای OCP: انعطاف‌پذیری و کاهش ریسک
  • 40. محدودیت‌ها و ملاحظات OCP: اجتناب از مهندسی بیش از حد
  • 41. اصل جایگزینی لیسکوف (LSP): قابلیت جایگزینی زیرنوع‌ها
  • 42. تعریف "زیرنوع باید قابل جایگزینی برای نوع پایه باشد"
  • 43. زیرگونه‌سازی رفتاری (Behavioral Subtyping)
  • 44. پیش‌شرط‌ها (Pre-conditions) و پس‌شرط‌ها (Post-conditions)
  • 45. ناورداها (Invariants) در LSP
  • 46. نقض‌های رایج LSP و مثال‌های عملی
  • 47. LSP و امضاهای متدها: عدم تغییر کوواریانس و کنتراواریانس
  • 48. LSP و مدیریت استثناها
  • 49. مشکل Rectangle/Square: نمونه کلاسیک نقض LSP
  • 50. LSP با کلاس‌های انتزاعی و اینترفیس‌ها
  • 51. LSP با الگوی Bridge: جداسازی انتزاع و پیاده‌سازی
  • 52. اعمال LSP در طراحی سلسله‌مراتب کلاس‌ها
  • 53. بازفاکتورینگ برای رعایت LSP
  • 54. مزایای LSP: تضمین درستی رفتاری سیستم
  • 55. اهمیت قراردادهای واضح در LSP
  • 56. اصل تفکیک اینترفیس (ISP): اینترفیس‌های کوچک و مشخص
  • 57. "کلاینت‌ها نباید مجبور به وابستگی به اینترفیس‌هایی شوند که استفاده نمی‌کنند"
  • 58. آنتی‌پترن Fat Interface: اینترفیس‌های بزرگ و عمومی
  • 59. اهمیت اینترفیس‌های دانه‌دانه (Granular)
  • 60. اینترفیس‌های نقش‌محور (Role Interfaces)
  • 61. ISP و مدیریت وابستگی‌های غیرضروری
  • 62. ISP و الگوی Adapter: سازگار کردن کلاینت با اینترفیس
  • 63. ISP و الگوی Façade (بازبینی): ارائه‌ اینترفیس‌های ساده‌تر به کلاینت
  • 64. ISP و الگوی Proxy: کنترل دسترسی و سگمنت‌بندی اینترفیس
  • 65. ISP و الگوی Command: کپسوله‌سازی درخواست‌های خاص
  • 66. طراحی قراردادهای مشخص و کوچک برای سرویس‌ها
  • 67. ISP و قابلیت تست‌پذیری: Mock کردن آسان‌تر
  • 68. بازفاکتورینگ برای رعایت ISP
  • 69. مزایای ISP: کاهش کوپلینگ و افزایش انعطاف‌پذیری
  • 70. چه زمانی باید یک اینترفیس را تقسیم کرد؟
  • 71. اصل وارونگی وابستگی (DIP): وابستگی به انتزاعات
  • 72. "ماژول‌های سطح بالا نباید به ماژول‌های سطح پایین وابسته باشند."
  • 73. "انتزاعات نباید به جزئیات وابسته باشند؛ جزئیات باید به انتزاعات وابسته باشند."
  • 74. مفهوم وارونگی کنترل (IoC)
  • 75. تزریق وابستگی (DI) به عنوان پیاده‌سازی IoC/DIP
  • 76. تزریق از طریق سازنده (Constructor Injection)
  • 77. تزریق از طریق متد (Method Injection) و Property Injection
  • 78. تزریق از طریق اینترفیس (Interface Injection)
  • 79. Service Locator در مقابل Dependency Injection: مقایسه
  • 80. DIP و الگوی Factory: ایجاد وابستگی‌ها به شکل انتزاعی
  • 81. DIP و الگوی Abstract Factory: ایجاد خانواده‌های وابسته به شکل انتزاعی
  • 82. DIP و الگوی Bridge (بازبینی): جداسازی انتزاع و پیاده‌سازی
  • 83. بازفاکتورینگ برای رعایت DIP
  • 84. مزایای DIP: قابلیت تست، انعطاف‌پذیری، ماژولار بودن
  • 85. اهمیت سیستم‌های با کوپلینگ کم در طراحی
  • 86. هم‌افزایی اصول SOLID: چگونه با هم کار می‌کنند؟
  • 87. SOLID و معماری تمیز (Clean Architecture)
  • 88. SOLID و معماری پیاز (Onion Architecture)
  • 89. SOLID در طراحی میکروسرویس‌ها
  • 90. SOLID و Domain-Driven Design (DDD)
  • 91. بازفاکتورینگ کدهای ارث‌برده شده (Legacy Code) با SOLID
  • 92. ارزیابی کیفیت طراحی نرم‌افزار با معیارهای SOLID
  • 93. آنتی‌پترن‌ها و نقض‌های SOLID (مرور پیشرفته)
  • 94. مطالعه موردی عملی ۱: طراحی یک سیستم اطلاع‌رسانی منعطف
  • 95. مطالعه موردی عملی ۲: پیاده‌سازی معماری پلاگین‌محور
  • 96. مطالعه موردی عملی ۳: بهبود یک ماژول موجود با SOLID
  • 97. چالش‌های پیاده‌سازی SOLID در پروژه‌های واقعی
  • 98. آموزش و ترویج رعایت اصول SOLID در تیم‌های توسعه
  • 99. ابزارهای کمکی برای تحلیل و بهبود رعایت SOLID
  • 100. آینده اصول SOLID و طراحی نرم‌افزار
تگ‌ها: آموزش آنلاین اصول SOLID اصول SOLID در طراحی الگوها (Design Patterns): هم‌افزایی برای معماری برنامه نویسی دوره آموزشی

نظرات

هنوز نظری ثبت نشده است.

وارد شوید تا نظر ثبت کنید.