اپلیکیشن اندرویدی فلشکارت آموزشی معماری نرمافزار: Domain Driven Design Distilled
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره معماری نرمافزار: Domain Driven Design Distilled
موضوع کلی: برنامه نویسی
موضوع میانی: معماری نرمافزار
📋 سرفصلهای دوره
- 1. مقدمهای بر معماری نرمافزار
- 2. چرا معماری خوب اهمیت دارد؟
- 3. نقش معمار نرمافزار
- 4. پیچیدگی سیستمهای نرمافزاری و چالشهای آن
- 5. مفهوم "دامنه" در مهندسی نرمافزار
- 6. مسئله "عدم تطابق امپدانس"
- 7. معرفی برنامهنویسی شیءگرا (OOP) و اصول SOLID
- 8. تاریخچه مختصر الگوهای معماری (مونولیت، SOA، میکروسرویس)
- 9. معرفی Domain Driven Design (DDD)
- 10. DDD: رویکردی برای مقابله با پیچیدگی کسبوکار
- 11. اصول اساسی DDD
- 12. مزایای پیادهسازی DDD
- 13. چه زمانی باید از DDD استفاده کرد؟
- 14. سوءتفاهمهای رایج درباره DDD
- 15. چگونگی شروع با DDD در پروژهها
- 16. طراحی استراتژیک: نگاهی کلی
- 17. زبان فراگیر (Ubiquitous Language): مفهوم و اهمیت
- 18. ایجاد یک زبان فراگیر مشترک
- 19. نقش متخصصان دامنه (Domain Experts) در شکلگیری زبان
- 20. چالشهای زبان: ابهام، هممعنیها، چندمعنیها
- 21. مستندسازی و نگهداری زبان فراگیر
- 22. مفهوم "بافت محدود" (Bounded Context)
- 23. شناسایی بافتهای محدود
- 24. مرزهای بافت و اهمیت آنها
- 25. بافتهای محدود به عنوان یک واحد ماژولار
- 26. تکنیکهای کشف بافتهای محدود
- 27. رویداد طوفانی (Event Storming): مقدمهای جامع
- 28. کشف بافتهای محدود با Event Storming در عمل
- 29. نقش رویدادها در Event Storming
- 30. نقش دستورات در Event Storming
- 31. نقشه بافت (Context Map): چرا ضروری است؟
- 32. الگوهای رابطه در نقشه بافت: هسته مشترک (Shared Kernel)
- 33. الگوهای رابطه در نقشه بافت: مشتری-تامینکننده (Customer-Supplier)
- 34. الگوهای رابطه در نقشه بافت: پیرویکننده (Conformist)
- 35. الگوهای رابطه در نقشه بافت: لایه ضد فساد (Anti-Corruption Layer) - معرفی اولیه
- 36. الگوهای رابطه در نقشه بافت: مشارکت (Partnership)
- 37. الگوهای رابطه در نقشه بافت: سرویس میزبان باز (Open Host Service)
- 38. الگوهای رابطه در نقشه بافت: زبان منتشر شده (Published Language)
- 39. الگوهای رابطه در نقشه بافت: مسیرهای جداگانه (Separate Ways)
- 40. ترسیم و بصریسازی نقشه بافتها
- 41. طراحی تاکتیکی: نگاهی کلی
- 42. موجودیتها (Entities): هویت و چرخه حیات
- 43. اشیاء مقداری (Value Objects): تغییرناپذیری و خصوصیات
- 44. تمایز کلیدی: موجودیتها در مقابل اشیاء مقداری
- 45. طراحی اشیاء مقداری مؤثر و مفید
- 46. اجتماعها (Aggregates): محافظت از ناورداییها (Invariants)
- 47. ریشه اجتماع (Aggregate Root): نگهبان اجتماع
- 48. قوانین طراحی اجتماعها
- 49. مدیریت مرزهای اجتماع
- 50. سازگاری درون اجتماعها
- 51. ارجاعات بین اجتماعها: پرهیز از ارجاعات مستقیم
- 52. طراحی اجتماعهای مقاوم و با ثبات
- 53. سرویسهای دامنه (Domain Services): ارکستراسیون منطق دامنه
- 54. چه زمانی باید از سرویسهای دامنه استفاده کرد؟
- 55. سرویسهای دامنه در مقابل سرویسهای کاربردی (Application Services)
- 56. مخازن (Repositories): انتزاع لایه پایداری
- 57. پیادهسازی واسطها و کلاسهای مخازن
- 58. یک مخزن برای هر ریشه اجتماع: اصل کلیدی
- 59. استراتژیهای جستجو با مخازن
- 60. کارخانهها (Factories): کپسولهسازی ایجاد اشیاء پیچیده
- 61. چه زمانی باید از کارخانهها استفاده کرد؟
- 62. رویدادهای دامنه (Domain Events): اعلام تغییرات حالت
- 63. انتشار و اشتراک رویدادهای دامنه
- 64. سازگاری رویداد و مفهوم سازگاری نهایی
- 65. استفاده از رویدادهای دامنه برای یکپارچهسازی درونی
- 66. رویدادهای دامنه برای حسابرسی و ردیابی
- 67. مشخصات (Specifications): کپسولهسازی قوانین کسبوکار
- 68. اعمال مشخصات در جستجوها و اعتبارسنجیها
- 69. ماژولها: سازماندهی مدل دامنه به صورت منطقی
- 70. معماری لایهای در DDD: بازبینی و کاربرد
- 71. لایه دامنه (Domain Layer): قلب برنامه و منطق کسبوکار
- 72. لایه کاربردی (Application Layer): ارکستراسیون موارد استفاده و هماهنگی
- 73. لایه زیرساخت (Infrastructure Layer): نگرانیهای فنی و پیادهسازی
- 74. لایه ارائه (Presentation Layer): واسط کاربر و نمایش اطلاعات
- 75. فراتر از لایههای سنتی: معماری ششضلعی (Hexagonal/Onion Architecture)
- 76. پورتها و آداپتورها در معماری ششضلعی
- 77. مزایای معماری ششضلعی برای DDD و تستپذیری
- 78. اصل وارونگی وابستگی (Dependency Inversion Principle) در زمینه DDD
- 79. الگوهای طراحی (Design Patterns) مفید در DDD
- 80. الگوهای GRASP و ارتباط آن با DDD
- 81. اعتبارسنجی در DDD: قوانین دامنه و قوانین کاربردی
- 82. رسیدگی به خطاهای دامنه
- 83. لایه ضد فساد (Anti-Corruption Layer - ACL) در جزئیات و پیادهسازی
- 84. ACL برای یکپارچهسازی با سیستمهای قدیمی و خارجی
- 85. الگوهای سازگاری داده: تراکنشی و سازگاری نهایی (Eventual Consistency)
- 86. تفکیک مسئولیتهای دستور و جستجو (CQRS): معرفی و مفاهیم اصلی
- 87. مزایای CQRS همراه با DDD
- 88. پیادهسازی CQRS: مدلهای دستور (Command Models) و مدلهای جستجو (Query Models)
- 89. جداسازی عملیات خواندن و نوشتن (Read/Write Segregation)
- 90. رویدادمحوری (Event Sourcing): ذخیرهسازی رویدادها به جای حالت فعلی
- 91. مزایا و چالشهای Event Sourcing
- 92. ترکیب DDD، CQRS و Event Sourcing برای سیستمهای پیچیده
- 93. Sagaها و مدیران فرآیند (Process Managers) برای فرآیندهای طولانیمدت
- 94. مدیریت سازگاری نهایی در عمل و چالشهای آن
- 95. Idempotency (تکرارپذیری بدون اثر جانبی) در سیستمهای توزیعشده
- 96. DDD و معماری میکروسرویسها
- 97. نگاشت بافتهای محدود به میکروسرویسها: یک به یک یا بیشتر
- 98. ارتباط بین میکروسرویسها در یک زمینه DDD
- 99. ارکستراسیون (Orchestration) در مقابل رقص (Choreography) در میکروسرویسها
- 100. مالکیت داده (Data Ownership) در معماری میکروسرویس
این اپلیکیشن فارسی برای یادگیری و مرور محتوای آموزشی از طریق فلشکارت طراحی شده است. کارتها را یکییکی مرور کنید، پاسخ پرسشها را به یاد بیاورید و نتیجه هر پاسخ را ثبت کنید. محتوای دوره پس از نصب درون برنامه در دسترس است تا برای مطالعه روزمره معمولاً به اتصال مداوم اینترنت نیاز نداشته باشید.
محتوای آموزشی در قالبهای متنوع ارائه میشود تا هم برای یادگیری مفاهیم جدید و هم برای تثبیت آموختهها قابل استفاده باشد.
- رابط کاربری فارسی و راستچین با فونت وزیر.
- تم روشن و تیره مطابق تنظیمات سیستم.
- صفحهبندی ساده برای انتخاب دوره و شروع مرور.
- نمایش تعداد دفعات مرور هر فصل.
- انتخاب چند فصل برای مرور همزمان.
- امکان تمرکز بر فصلهایی که هنوز مرور نشدهاند.
این اپلیکیشن برای دانشآموزان، دانشجویان، داوطلبان آزمونها و علاقهمندان به یادگیری طراحی شده است؛ بهویژه کسانی که میخواهند مطالب آموزشی را در زمانهای کوتاه مرور کنند، دانستههای خود را بسنجند و مطالعه منظمتری داشته باشند.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.