کتاب صوتی بازآرایی کدهای اسپاگتی به معماری 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. ارزیابی موفقیت پروژه بازآرایی معماری
برای آموختن، همیشه لازم نیست بخوانید
گاهی بهترین فرصت یادگیری زمانی است که در مسیر رفتوآمد هستید، قدم میزنید، استراحت میکنید یا کارهای روزمرهتان را انجام میدهید. محتوای صوتی کمک میکند از این لحظهها برای شنیدن، اندیشیدن و آشنایی با موضوعات تازه بهره ببرید.
◷
یادگیری در دل روزمرگی
از زمان رفتوآمد، پیادهروی یا استراحت برای شنیدن محتوای مفید استفاده کنید؛ بدون آنکه همیشه به کتاب چاپی یا صفحه نمایش نیاز داشته باشید.
◎
تجربهای شنیداری و دلنشین
با روایت صوتی، توضیحات گفتاری و فضای شنیداری هر محتوا همراه شوید و متناسب با سلیقه خود، شیوه تازهای برای دریافت مطالب تجربه کنید.
✦
گسترش دانش و دیدگاه
با موضوعات متنوع آشنا شوید، ایدههای تازه کشف کنید و فرصت بیشتری برای یادگیری مستمر و پرورش کنجکاوی خود بسازید.
♫
همراه با سبک زندگی شما
محتوای صوتی را متناسب با برنامه روزانه خود انتخاب کنید و در زمان مناسب، شنیدن را به بخشی از عادتهای شخصیتان تبدیل کنید.
کتاب صوتی یا پادکست؟
کتاب صوتی
راهی برای همراه شدن با محتوای یک کتاب از طریق شنیدن. بسته به اثر، میتوانید داستانها، آموزشها، مفاهیم تخصصی یا مطالب کاربردی را در قالب روایت و بیان صوتی دنبال کنید.
مناسب برای شنیدن و مرور محتوای کتابها
پادکست آموزشی
فرصتی برای دنبال کردن موضوعات مشخص در قالب گفتوگو، روایت، توضیح آموزشی یا مجموعهای از قسمتهای صوتی؛ مناسب برای کشف ایدهها و آشنایی با دیدگاههای گوناگون.
مناسب برای یادگیری موضوعی و شنیدن دیدگاههای تازه
هر جا که هستید، شنیدن را آغاز کنید
با دستگاه مناسب خود، محتوای صوتی را به آسانی دنبال کنید.
▯
گوشی هوشمند
اندروید و آیفون
▣
تبلت
برای شنیدن و دنبال کردن محتوا
▤
رایانه و لپتاپ
با پخشکننده صوتی سازگار
♫
هدفون و بلندگو
برای شنیدن متناسب با محیط
چطور از تجربه شنیدن بیشتر بهره ببریم؟
✦ زمان مناسبی برای شنیدن انتخاب کنید؛ زمانی که بتوانید با آرامش به محتوا توجه داشته باشید.
✦ برای مطالب آموزشی، نکتههای مهم را یادداشت کنید یا پس از پایان شنیدن، آنها را مرور کنید.
✦ اگر محتوا طولانی است، آن را در چند نوبت دنبال کنید تا فرصت بیشتری برای درک و مرور داشته باشید.
✦ هنگام رانندگی یا انجام کارهای نیازمند تمرکز، ایمنی را در اولویت قرار دهید و از شیوه شنیدنی استفاده کنید که حواس شما را مختل نکند.
هر شنیدن، فرصتی برای کشف است
با کتابهای صوتی و پادکستهای آموزشی، دنیای تازهای از ایدهها، روایتها و آموختنیها را به لحظههای خود اضافه کنید.
express24.ir
امکانات پخش، ادامه شنیدن و دسترسی آفلاین به نوع فایل، دستگاه و نرمافزار مورد استفاده بستگی دارد.
تگها:
Aggregate
Bounded Context
Clean Architecture
DDD
Domain Driven Design
Domain Model
Legacy Code
Ravioli Code
Refactoring
Technical Debt
بازآرایی کد
کد اسپاگتی
معماری دامنه محور
معماری نرم افزار
مهندسی نرم افزار
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.