اپلیکیشن اندرویدی فلشکارت آموزشی بازآرایی کدهای اسپاگتی به معماری Domain-Driven Design با رویکرد عملی
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره بازآرایی کدهای اسپاگتی به معماری Domain-Driven Design با رویکرد عملی
موضوع کلی: مهندسی نرمافزار و طراحی معماری سیستمها
موضوع میانی: طراحی مبتنی بر دامنه و بازآرایی معماری نرمافزار
📋 سرفصلهای دوره
- 1. مبانی Domain-Driven Design و مسئله کدهای اسپاگتی
- 2. تشخیص Ravioli Code و نشانههای طراحی نامناسب
- 3. تفاوت کد اسپاگتی، Ravioli Code و کد مبتنی بر دامنه
- 4. شناخت علائم معماری فرسوده در پروژههای نرمافزاری
- 5. تحلیل ساختار فعلی یک سیستم پیش از Refactoring
- 6. شناسایی منطق کسبوکار پراکنده در کد
- 7. تفکیک منطق کسبوکار از منطق فنی
- 8. استخراج مفاهیم دامنه از کد موجود
- 9. شناسایی واژگان و مفاهیم کلیدی دامنه
- 10. ساخت واژهنامه مشترک با رویکرد Ubiquitous Language
- 11. مدلسازی دامنه از روی رفتارهای واقعی سیستم
- 12. شناسایی Entityهای دامنه
- 13. شناسایی Value Objectها
- 14. تشخیص تفاوت Entity و Value Object در کد موجود
- 15. تعریف Aggregate و مرزهای آن
- 16. شناسایی Aggregate Root در سیستمهای موجود
- 17. طراحی مرزهای مناسب Aggregate
- 18. شناسایی Repositoryهای دامنه
- 19. تفکیک Domain Service از Application Service
- 20. تعریف Domain Event در معماری مبتنی بر دامنه
- 21. شناسایی Invariantهای کسبوکار
- 22. انتقال قواعد کسبوکار از لایههای فنی به دامنه
- 23. مدیریت وابستگیها در مدل دامنه
- 24. طراحی لایه Domain در یک سیستم موجود
- 25. طراحی لایه Application و Use Caseها
- 26. طراحی لایه Infrastructure بدون آلودگی دامنه
- 27. طراحی رابط کاربری در معماری Domain-Driven
- 28. تفکیک Concernهای فنی از Concernهای دامنه
- 29. شناسایی Bounded Contextها در سیستمهای بزرگ
- 30. تقسیم یک Monolith بر اساس Bounded Context
- 31. تعریف Context Boundaryهای قابل نگهداری
- 32. ارتباط میان Bounded Contextها
- 33. طراحی Context Map برای سیستم موجود
- 34. مدیریت مدلهای متفاوت یک مفهوم در Contextهای مختلف
- 35. تشخیص Shared Kernel و محدودیتهای آن
- 36. جلوگیری از وابستگی مستقیم میان Contextها
- 37. بازآرایی ماژولهای یک سیستم بر اساس دامنه
- 38. تبدیل کلاسهای فنی به مدلهای معنادار دامنه
- 39. تبدیل Utilityهای پراکنده به سرویسهای دامنه
- 40. کاهش God Objectها در فرآیند Refactoring
- 41. کاهش Coupling میان اجزای سیستم
- 42. افزایش Cohesion در ماژولهای دامنه
- 43. مدیریت وابستگیهای چرخهای هنگام Refactoring
- 44. Refactoring تدریجی بدون بازنویسی کامل سیستم
- 45. استفاده از Strangler Pattern برای بازآرایی تدریجی
- 46. طراحی Anti-Corruption Layer در سیستمهای قدیمی
- 47. مهاجرت تدریجی از معماری Legacy به DDD
- 48. حفظ سازگاری API هنگام بازآرایی کد
- 49. مدیریت Database در فرآیند تبدیل به DDD
- 50. جداسازی مدل دامنه از مدل پایگاه داده
- 51. مقابله با Anemic Domain Model
- 52. تبدیل Transaction Script به Domain Model
- 53. تبدیل Serviceهای بزرگ به Use Caseهای مشخص
- 54. تبدیل شرطهای پیچیده به قواعد دامنه
- 55. استفاده هدفمند از Factory در مدل دامنه
- 56. مدیریت چرخه حیات Entityها با Factory و Repository
- 57. طراحی Command و Query در مدل دامنه
- 58. تفکیک عملیات خواندن و نوشتن در سیستم
- 59. کاربرد CQRS در بازآرایی سیستمهای پیچیده
- 60. استفاده از Domain Event برای کاهش وابستگی
- 61. مدیریت Consistency در Aggregateها
- 62. طراحی Transaction Boundary بر اساس Aggregate
- 63. مدیریت Concurrency در مدل دامنه
- 64. تست واحد برای Entityها و Value Objectها
- 65. تست قواعد کسبوکار مستقل از Infrastructure
- 66. تست Aggregateها و Invariantهای دامنه
- 67. تست Application Serviceها و Use Caseها
- 68. تست قرارداد میان Bounded Contextها
- 69. استفاده از Characterization Test پیش از Refactoring
- 70. حفظ رفتار سیستم موجود در طول Refactoring
- 71. شناسایی و مدیریت Technical Debt
- 72. اندازهگیری Coupling و Cohesion پیش و پس از Refactoring
- 73. معیارهای ارزیابی کیفیت مدل دامنه
- 74. اشتباهات رایج در پیادهسازی DDD
- 75. جلوگیری از Overengineering در Domain Model
- 76. تشخیص زمان مناسب برای استفاده از DDD
- 77. DDD در سیستمهای کوچک و متوسط
- 78. DDD در Monolithهای بزرگ
- 79. DDD در Microserviceهای مبتنی بر دامنه
- 80. تأثیر DDD بر طراحی API و قراردادهای سرویس
- 81. مدیریت Integration با سیستمهای Legacy
- 82. مدیریت پیامها و رویدادهای بین Contextها
- 83. مدیریت خطاهای دامنه و خطاهای فنی
- 84. طراحی Logging و Monitoring برای معماری DDD
- 85. مدیریت Migration در سیستمهای در حال سرویسدهی
- 86. بازآرایی تدریجی یک پروژه واقعی از Ravioli Code به DDD
- 87. تحلیل قبل و بعد معماری در یک پروژه عملی
- 88. طراحی نقشه مهاجرت از کد موجود به مدل دامنه
- 89. تدوین استراتژی Refactoring مرحلهبهمرحله
- 90. ارزیابی موفقیت پروژه بازآرایی معماری
این اپلیکیشن فارسی برای یادگیری و مرور محتوای آموزشی از طریق فلشکارت طراحی شده است. کارتها را یکییکی مرور کنید، پاسخ پرسشها را به یاد بیاورید و نتیجه هر پاسخ را ثبت کنید. محتوای دوره پس از نصب درون برنامه در دسترس است تا برای مطالعه روزمره معمولاً به اتصال مداوم اینترنت نیاز نداشته باشید.
محتوای آموزشی در قالبهای متنوع ارائه میشود تا هم برای یادگیری مفاهیم جدید و هم برای تثبیت آموختهها قابل استفاده باشد.
- رابط کاربری فارسی و راستچین با فونت وزیر.
- تم روشن و تیره مطابق تنظیمات سیستم.
- صفحهبندی ساده برای انتخاب دوره و شروع مرور.
- نمایش تعداد دفعات مرور هر فصل.
- انتخاب چند فصل برای مرور همزمان.
- امکان تمرکز بر فصلهایی که هنوز مرور نشدهاند.
این اپلیکیشن برای دانشآموزان، دانشجویان، داوطلبان آزمونها و علاقهمندان به یادگیری طراحی شده است؛ بهویژه کسانی که میخواهند مطالب آموزشی را در زمانهای کوتاه مرور کنند، دانستههای خود را بسنجند و مطالعه منظمتری داشته باشند.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.