کتاب کنترل وارونگی (IoC) و تزریق وابستگی (DI): عمق بخشیدن به DIP با فرمت AZW3 برای کتابخوان کیندل و فرمت EPUB
دوره آموزشی کنترل وارونگی (IoC) و تزریق وابستگی (DI) استادی در معماری نرمافزار با دوره کنترل وارونگی (IoC) و تزریق وابستگی (DI): عمیقترین نگاه به اصل DIP کدنویسی شما هرگز مثل قبل نخواهد بود! آیا تا ...
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره کنترل وارونگی (IoC) و تزریق وابستگی (DI): عمق بخشیدن به DIP
موضوع کلی: برنامه نویسی
موضوع میانی: اصول SOLID
📋 سرفصلهای دوره
- 1. مقدمهای بر برنامهنویسی ماژولار و مقیاسپذیر
- 2. اهمیت کد تمیز و قابل نگهداری
- 3. مفهوم وابستگیها در کد
- 4. بررسی مشکل کوپلینگ (Cohesion و Coupling)
- 5. مثالهایی از کوپلینگ سفت در برنامههای واقعی
- 6. پیامدهای کوپلینگ سفت: دشواری تغییر و نگهداری
- 7. آشنایی با اصول SOLID: مروری کلی
- 8. هدف از طراحی خوب نرمافزار
- 9. اصول معماری نرمافزار و الگوهای طراحی
- 10. مفهوم کنترل در برنامهنویسی
- 11. معرفی اجمالی وارونگی کنترل (IoC)
- 12. معرفی اجمالی تزریق وابستگی (DI)
- 13. IoC و DI به عنوان ابزاری برای کاهش کوپلینگ
- 14. چرا به IoC و DI نیاز داریم؟
- 15. چالشهای توسعه بدون IoC و DI
- 16. معرفی اصل وارونگی وابستگی (DIP)
- 17. تعریف ماژولهای سطح بالا و سطح پایین
- 18. وابستگی ماژولهای سطح بالا به ماژولهای سطح پایین: مشکل اصلی
- 19. راهکار DIP: وابستگی به انتزاعات نه به جزئیات
- 20. مفهوم انتزاعات (Abstractions) در برنامهنویسی
- 21. نقش اینترفیسها و کلاسهای انتزاعی در DIP
- 22. پیادهسازی انتزاعات: چگونگی ایجاد آنها
- 23. نمونههایی از نقض DIP در کد
- 24. بازنویسی کد برای پیروی از DIP (مثال عملی)
- 25. مزایای پیروی از DIP: انعطافپذیری و تستپذیری
- 26. DIP و جداسازی دغدغهها (Separation of Concerns)
- 27. ارتباط DIP با اصل جایگزینی لیسکوف (LSP)
- 28. DIP و اصل باز/بسته (OCP)
- 29. چالشهای پیادهسازی DIP بدون DI
- 30. خلاصهای بر اهمیت DIP
- 31. وارونگی کنترل (IoC): تغییر جهت کنترل
- 32. اصل هالیوود (Hollywood Principle): "شما به ما زنگ نزنید، ما به شما زنگ میزنیم."
- 33. IoC در زمینههای مختلف (مثلاً فریمورکها و رویدادها)
- 34. تفاوت کنترل سنتی و کنترل وارونه
- 35. IoC به عنوان یک الگوی طراحی
- 36. انواع IoC: فراخوانی (Callbacks)، رویدادها (Events)، الگوهای قالب (Template Methods)
- 37. Service Locator به عنوان یکی از اشکال IoC
- 38. Service Locator: مزایا و معایب
- 39. IoC Containers: معرفی و کارکرد کلی
- 40. نقش IoC Containers در مدیریت چرخه حیات
- 41. IoC و کاهش مسئولیتها
- 42. IoC و مدیریت وابستگیها
- 43. مفهوم ترکیب (Composition) با IoC
- 44. IoC و پایداری معماری
- 45. انتخاب بین Service Locator و DI (مقدماتی)
- 46. تزریق وابستگی (DI): رویکردی خاص از IoC
- 47. DI چیست و چرا از آن استفاده میکنیم؟
- 48. تزریق به عنوان راهی برای تحقق DIP
- 49. انواع تزریق وابستگی: تزریق سازنده (Constructor Injection)
- 50. مزایا و معایب تزریق سازنده
- 51. انواع تزریق وابستگی: تزریق خصوصیت/Setter (Property/Setter Injection)
- 52. مزایا و معایب تزریق خصوصیت
- 53. انواع تزریق وابستگی: تزریق متد (Method Injection)
- 54. مزایا و معایب تزریق متد
- 55. انتخاب نوع مناسب تزریق برای سناریوهای مختلف
- 56. تزریق وابستگی دستی (Manual DI)
- 57. معرفی مفهوم گره وابستگی (Dependency Graph)
- 58. DI و تسهیل تستپذیری
- 59. DI و افزایش انعطافپذیری کد
- 60. مقایسه DI با Service Locator (عمقیتر)
- 61. چرا به فریمورکهای DI نیاز داریم؟
- 62. معرفی عملکرد اصلی یک DI Container
- 63. ثبت وابستگیها (Registration) در Container
- 64. تفکیک وابستگیها (Resolution) از Container
- 65. مدیریت چرخه حیات (Lifetime Management)
- 66. Lifetime: Singleton (تک نمونه)
- 67. Lifetime: Transient (همیشه جدید)
- 68. Lifetime: Scoped (محدوده خاص)
- 69. مثالهایی از پیکربندی Container (کد-محور)
- 70. مثالهایی از پیکربندی Container (پیکربندی-محور)
- 71. ثبت خودکار (Auto-registration/Convention over Configuration)
- 72. تزریق مجموعهای (Collection Injection)
- 73. تزریق شرطی (Conditional Injection)
- 74. الگوهای طراحی مرتبط: دکوراتور (Decorator) با DI
- 75. الگوهای طراحی مرتبط: پروکسی (Proxy) با DI
- 76. رهگیری (Interception) در Containerها
- 77. انتخاب یک DI Container مناسب برای پروژه
- 78. فریمورکهای DI محبوب: مروری کلی (مانند .NET Core DI، Spring Framework IoC)
- 79. پیادهسازی DI در لایههای مختلف یک برنامه
- 80. بهترین روشها برای استفاده از DI Containerها
- 81. DI و معماریهای میکروسرویس (Microservices)
- 82. DI در برنامههای وب (ASP.NET Core / Spring Boot)
- 83. DI در برنامههای دسکتاپ و موبایل
- 84. DI و تست واحد (Unit Testing): اصول و تکنیکها
- 85. Mocking و Faking با DI
- 86. استراتژیهای تستپذیری با DI
- 87. DI و تستهای یکپارچهسازی (Integration Testing)
- 88. الگوهای ضد DI (DI Anti-patterns): Service Locator به عنوان Anti-pattern
- 89. الگوهای ضد DI: تزریق وابسته به وضعیت (Contextual Injection)
- 90. الگوهای ضد DI: وابستگیهای گلوبال
- 91. ترکیببندی برنامه (Application Composition) با DI
- 92. DI و کامپوننتهای پلاگینشونده (Pluggable Components)
- 93. بازسازی کد (Refactoring) قدیمی به DI
- 94. چالشهای عملکردی DI (Performance Considerations)
- 95. مدیریت وابستگیهای پیچیده و دایرهای
- 96. DI و الگوهای طراحی پیشرفته (مانند Chain of Responsibility)
- 97. DI و مفهوم معماری پاک (Clean Architecture)
- 98. آینده IoC و DI: روندها و نوآوریها
- 99. مروری بر نکات کلیدی و بهترین شیوهها
- 100. جمعبندی: IoC و DI به عنوان ستونهای کد مدرن و منعطف
تگها:
آموزش آنلاین
اصول SOLID
برنامه نویسی
دوره آموزشی
کنترل وارونگی (IoC) و تزریق وابستگی (DI): عمق بخشیدن به DIP
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.