اپلیکیشن اندرویدی فلشکارت آموزشی معماری Hexagonal (Ports and Adapters): جداسازی دغدغهها
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره معماری Hexagonal (Ports and Adapters): جداسازی دغدغهها
موضوع کلی: برنامه نویسی
موضوع میانی: معماری نرمافزار
📋 سرفصلهای دوره
- 1. مقدمهای بر معماری نرمافزار
- 2. ضرورت طراحی خوب در نرمافزار
- 3. معرفی مفاهیم جداسازی دغدغهها (Separation of Concerns)
- 4. مقدمهای بر الگوهای طراحی (Design Patterns)
- 5. چرایی نیاز به الگوهای معماری
- 6. مروری بر الگوهای معماری سنتی (Monolithic, Layered)
- 7. مشکلات معماریهای سنتی
- 8. معرفی معماری Hexagonal (Ports and Adapters)
- 9. تاریخچه و ایده اصلی معماری Hexagonal
- 10. اصول کلیدی معماری Hexagonal
- 11. مفهوم Port
- 12. انواع Port (Input/Driving, Output/Driven)
- 13. مفهوم Adapter
- 14. انواع Adapter (Driving, Driven)
- 15. رابطه بین Port و Adapter
- 16. اهمیت "قانون وابستگی" (Dependency Rule)
- 17. چگونگی پیادهسازی "قانون وابستگی"
- 18. مزایای معماری Hexagonal
- 19. مقایسه Hexagonal با معماریهای دیگر (Layered, Microservices)
- 20. مباحث مرتبط با Domain-Driven Design (DDD)
- 21. نقش DDD در معماری Hexagonal
- 22. مفهوم Bounded Context
- 23. ارتباط Bounded Context با Port
- 24. مفهوم Aggregate Root
- 25. مفهوم Entity و Value Object
- 26. مفهوم Service در DDD
- 27. تکنیکهای مدلسازی دامنه
- 28. مدلسازی دامنه با تمرکز بر Hexagonal
- 29. مفهوم Application Layer (Core)
- 30. مسئولیتهای Application Layer
- 31. مدیریت Use Case ها در Application Layer
- 32. چگونگی تزریق وابستگی (Dependency Injection) در Hexagonal
- 33. نقش IoC Container
- 34. الگوهای ساده تزریق وابستگی
- 35. مدیریت دادهها در Hexagonal
- 36. چالشهای ذخیرهسازی و بازیابی داده
- 37. مفهوم Port ذخیرهسازی (Persistence Port)
- 38. پیادهسازی Persistence Adapter (مثال: Database Adapter)
- 39. کار با ORM در Persistence Adapter
- 40. پیادهسازی Persistence Port با الگوهای Repository
- 41. مفهوم Port خارجی (External Port)
- 42. پیادهسازی External Adapter (مثال: REST API Adapter)
- 43. مفهوم Port ورودی (Input Port)
- 44. پیادهسازی Input Adapter (مثال: CLI Adapter)
- 45. مدیریت اعتبارسنجی (Validation) در Hexagonal
- 46. اعتبارسنجی در لایه دامنه (Domain Layer)
- 47. اعتبارسنجی در لایه Application (Application Layer)
- 48. اعتبارسنجی در لایه Adapter
- 49. مدیریت خطا (Error Handling) در Hexagonal
- 50. استراتژیهای مدیریت خطا
- 51. خطاها در لایه دامنه
- 52. خطاها در لایه Application
- 53. خطاها در لایه Adapter
- 54. مفهوم Domain Events
- 55. نقش Domain Events در معماری Hexagonal
- 56. پیادهسازی Domain Events
- 57. انتشار و دریافت Domain Events
- 58. مدیریت تراکنش (Transaction Management)
- 59. تراکنشها در لایه دامنه
- 60. تراکنشها در لایه Application
- 61. تراکنشها در لایه Adapter
- 62. مفهوم Transactional Outbox Pattern
- 63. پیادهسازی Transactional Outbox Pattern
- 64. مدیریت زمان (Time Management)
- 65. مفهوم Clock Port
- 66. پیادهسازی Clock Adapter
- 67. مدیریت تولید اعداد تصادفی (Random Number Generation)
- 68. مفهوم Random Port
- 69. پیادهسازی Random Adapter
- 70. مدیریت گزارشدهی (Logging)
- 71. مفهوم Logger Port
- 72. پیادهسازی Logger Adapter
- 73. مدیریت پیکربندی (Configuration Management)
- 74. مفهوم Configuration Port
- 75. پیادهسازی Configuration Adapter
- 76. مدیریت تستپذیری (Testability)
- 77. تست واحد (Unit Testing) در Hexagonal
- 78. تست یکپارچگی (Integration Testing) در Hexagonal
- 79. تست خودکار (Automated Testing)
- 80. چگونه Port ها به تستپذیری کمک میکنند
- 81. Mocking و Stubbing در تست Hexagonal
- 82. تست Domain Layer
- 83. تست Application Layer
- 84. تست Adapters
- 85. تست End-to-End
- 86. مفاهیم CI/CD در Hexagonal
- 87. پیادهسازی CI/CD برای پروژههای Hexagonal
- 88. ملاحظات امنیتی در Hexagonal
- 89. مدیریت احراز هویت (Authentication)
- 90. مدیریت مجوز (Authorization)
- 91. امنیت در لایههای مختلف
- 92. مباحث پیشرفته در Hexagonal Architecture
- 93. معماری Hexagonal و Microservices
- 94. تفاوتها و شباهتها
- 95. چگونه Hexagonal از Microservices پشتیبانی میکند
- 96. معماری Hexagonal و Event-Driven Architecture
- 97. ارتباط Hexagonal با پیامرسانها (Message Brokers)
- 98. مفهوم Port های پیامرسان
- 99. پیادهسازی Adapters برای پیامرسانها
- 100. معماری Hexagonal و CQRS (Command Query Responsibility Segregation)
این اپلیکیشن فارسی برای یادگیری و مرور محتوای آموزشی از طریق فلشکارت طراحی شده است. کارتها را یکییکی مرور کنید، پاسخ پرسشها را به یاد بیاورید و نتیجه هر پاسخ را ثبت کنید. محتوای دوره پس از نصب درون برنامه در دسترس است تا برای مطالعه روزمره معمولاً به اتصال مداوم اینترنت نیاز نداشته باشید.
محتوای آموزشی در قالبهای متنوع ارائه میشود تا هم برای یادگیری مفاهیم جدید و هم برای تثبیت آموختهها قابل استفاده باشد.
- رابط کاربری فارسی و راستچین با فونت وزیر.
- تم روشن و تیره مطابق تنظیمات سیستم.
- صفحهبندی ساده برای انتخاب دوره و شروع مرور.
- نمایش تعداد دفعات مرور هر فصل.
- انتخاب چند فصل برای مرور همزمان.
- امکان تمرکز بر فصلهایی که هنوز مرور نشدهاند.
این اپلیکیشن برای دانشآموزان، دانشجویان، داوطلبان آزمونها و علاقهمندان به یادگیری طراحی شده است؛ بهویژه کسانی که میخواهند مطالب آموزشی را در زمانهای کوتاه مرور کنند، دانستههای خود را بسنجند و مطالعه منظمتری داشته باشند.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.