اپلیکیشن اندرویدی فلشکارت آموزشی اصول SOLID برای توسعهدهندگان مدرن
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره اصول SOLID برای توسعهدهندگان مدرن
موضوع کلی: برنامه نویسی
موضوع میانی: اصول SOLID
📋 سرفصلهای دوره
- 1. مبانی برنامه نویسی شی گرا (OOP)
- 2. مفهوم کلاس و شی در OOP
- 3. وراثت و انواع آن
- 4. چند ریختی (Polymorphism)
- 5. انتزاع (Abstraction)
- 6. Encapsulation (کپسوله سازی)
- 7. معرفی اصول SOLID
- 8. تاریخچه و اهمیت اصول SOLID
- 9. مزایای استفاده از اصول SOLID
- 10. معایب عدم رعایت اصول SOLID
- 11. اصل اول SOLID: اصل تک مسئولیتی (SRP)
- 12. تعریف اصل تک مسئولیتی
- 13. چرا اصل تک مسئولیتی مهم است؟
- 14. مثال نقض اصل تک مسئولیتی
- 15. راه حل های رعایت اصل تک مسئولیتی
- 16. مسئولیت پذیری در کلاس ها و متدها
- 17. اجتناب از کلاس های God
- 18. اصل دوم SOLID: اصل باز/بسته (OCP)
- 19. تعریف اصل باز/بسته
- 20. مزایای استفاده از اصل باز/بسته
- 21. نقض اصل باز/بسته با استفاده از شرط ها
- 22. پیاده سازی OCP با استفاده از وراثت
- 23. پیاده سازی OCP با استفاده از Interfaceها
- 24. استفاده از Abstract Classها برای OCP
- 25. اصل سوم SOLID: اصل جانشینی لیسکوف (LSP)
- 26. تعریف اصل جانشینی لیسکوف
- 27. اهمیت اصل جانشینی لیسکوف
- 28. مثال نقض اصل جانشینی لیسکوف
- 29. جلوگیری از ایجاد استثناهای غیرمنتظره در زیرکلاس ها
- 30. طراحی قراردادها در وراثت
- 31. اصل چهارم SOLID: اصل تفکیک اینترفیس (ISP)
- 32. تعریف اصل تفکیک اینترفیس
- 33. مشکلات اینترفیس های بزرگ و bloated
- 34. ایجاد اینترفیس های کوچکتر و هدفمند
- 35. استفاده از Multiple Inheritance (چند ارثی)
- 36. نقش Interface ها در Dependency Inversion
- 37. اصل پنجم SOLID: اصل وارونگی وابستگی (DIP)
- 38. تعریف اصل وارونگی وابستگی
- 39. وابستگی به انتزاع (Abstraction) به جای وابستگی به جزئیات (Implementation)
- 40. Dependency Injection (تزریق وابستگی)
- 41. انواع تزریق وابستگی (Constructor Injection, Setter Injection, Interface Injection)
- 42. Container های IoC (Inversion of Control)
- 43. استفاده از Containerها برای مدیریت وابستگی ها
- 44. تفاوت بین Dependency Injection و Service Locator
- 45. Refactoring و اصول SOLID
- 46. شناسایی کد smell ها
- 47. استفاده از Refactoring Techniques برای رعایت SOLID
- 48. Extract Class Refactoring
- 49. Move Method Refactoring
- 50. Replace Conditional with Polymorphism Refactoring
- 51. Introduce Parameter Object Refactoring
- 52. Introduce Factory Refactoring
- 53. پیاده سازی SRP در یک پروژه نمونه
- 54. پیاده سازی OCP در یک پروژه نمونه
- 55. پیاده سازی LSP در یک پروژه نمونه
- 56. پیاده سازی ISP در یک پروژه نمونه
- 57. پیاده سازی DIP در یک پروژه نمونه
- 58. ترکیب اصول SOLID با الگوهای طراحی (Design Patterns)
- 59. رابطه بین SOLID و Factory Pattern
- 60. رابطه بین SOLID و Strategy Pattern
- 61. رابطه بین SOLID و Template Method Pattern
- 62. رابطه بین SOLID و Observer Pattern
- 63. رابطه بین SOLID و Decorator Pattern
- 64. تست پذیری و اصول SOLID
- 65. نوشتن Unit Test های بهتر با SOLID
- 66. Mocking و Stubbing در تست ها
- 67. استفاده از فریم ورک های تست
- 68. Continuous Integration و Continuous Delivery (CI/CD) با SOLID
- 69. SOLID و معماری نرم افزار
- 70. معماری Clean
- 71. معماری Hexagonal
- 72. معماری Onion
- 73. Microservices و SOLID
- 74. SOLID در زبان های برنامه نویسی مختلف (Java, C#, Python, JavaScript)
- 75. SOLID در JavaScript
- 76. SOLID در Python
- 77. SOLID در C#
- 78. SOLID در Java
- 79. اشتباهات رایج در پیاده سازی SOLID
- 80. over-engineering
- 81. استفاده نادرست از وراثت
- 82. ایجاد اینترفیس های غیر ضروری
- 83. تکنیک های پیشرفته SOLID
- 84. Composable Architecture
- 85. Event Sourcing
- 86. CQRS (Command Query Responsibility Segregation)
- 87. SOLID و DevOps
- 88. Infrastructure as Code (IaC)
- 89. Monitoring و Logging
- 90. مقایسه SOLID با سایر اصول طراحی نرم افزار (DRY, KISS, YAGNI)
- 91. مفاهیم DRY (Don't Repeat Yourself)
- 92. مفاهیم KISS (Keep It Simple, Stupid)
- 93. مفاهیم YAGNI (You Ain't Gonna Need It)
- 94. Case Study: پیاده سازی SOLID در یک پروژه واقعی
- 95. بررسی یک پروژه Open Source با رعایت اصول SOLID
- 96. چالش ها و راه حل ها در پیاده سازی SOLID در پروژه های بزرگ
- 97. SOLID و legacy code
- 98. استراتژی های بهبود کد های قدیمی با SOLID
- 99. ابزارهای کمک کننده به رعایت SOLID
- 100. Linter ها و Static Analyzers
این اپلیکیشن فارسی برای یادگیری و مرور محتوای آموزشی از طریق فلشکارت طراحی شده است. کارتها را یکییکی مرور کنید، پاسخ پرسشها را به یاد بیاورید و نتیجه هر پاسخ را ثبت کنید. محتوای دوره پس از نصب درون برنامه در دسترس است تا برای مطالعه روزمره معمولاً به اتصال مداوم اینترنت نیاز نداشته باشید.
محتوای آموزشی در قالبهای متنوع ارائه میشود تا هم برای یادگیری مفاهیم جدید و هم برای تثبیت آموختهها قابل استفاده باشد.
- رابط کاربری فارسی و راستچین با فونت وزیر.
- تم روشن و تیره مطابق تنظیمات سیستم.
- صفحهبندی ساده برای انتخاب دوره و شروع مرور.
- نمایش تعداد دفعات مرور هر فصل.
- انتخاب چند فصل برای مرور همزمان.
- امکان تمرکز بر فصلهایی که هنوز مرور نشدهاند.
این اپلیکیشن برای دانشآموزان، دانشجویان، داوطلبان آزمونها و علاقهمندان به یادگیری طراحی شده است؛ بهویژه کسانی که میخواهند مطالب آموزشی را در زمانهای کوتاه مرور کنند، دانستههای خود را بسنجند و مطالعه منظمتری داشته باشند.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.