کتاب معماری تمیز (Clean Architecture) در پروژههای گو با فرمت AZW3 برای کتابخوان کیندل و فرمت EPUB
دوره جامع معماری تمیز (Clean Architecture) در پروژههای گو دوره جامع معماری تمیز (Clean Architecture) در پروژههای گو (Golang) از کدهای اسپاگتی و غیرقابل نگهداری خلاص شوید و پروژههای غولپیکر، مقیاس...
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره معماری تمیز (Clean Architecture) در پروژههای گو
موضوع کلی: برنامه نویسی
موضوع میانی: گو (Go)
📋 سرفصلهای دوره
- 1. مقدمهای بر Go برای مهندسان نرمافزار
- 2. مدیریت ماژولها و ساختار پروژه Go
- 3. انواع دادههای پایه و متغیرها در Go
- 4. ساختارهای کنترلی: If, For, Switch
- 5. توابع، متدها و رسیورها
- 6. بستهها و قوانین قابلیت دید (Visibility)
- 7. مدیریت خطا در Go به روش اصولی
- 8. اینترفیسها در Go: قدرت و انعطافپذیری
- 9. استراکتها و انواع سفارشی
- 10. پرایمریهای همزمانی: گوروتینها و کانالها
- 11. چرا معماری نرمافزار اهمیت دارد؟
- 12. مقدمهای بر اصول طراحی نرمافزار
- 13. اصل مسئولیت واحد (SRP)
- 14. اصل باز/بسته (OCP)
- 15. اصل جایگزینی لیسکوف (LSP)
- 16. اصل تفکیک اینترفیس (ISP)
- 17. اصل وارونگی وابستگی (DIP)
- 18. اصول DRY, KISS, YAGNI
- 19. همبستگی (Cohesion) و کوپلینگ (Coupling)
- 20. هزینه طراحی ضعیف
- 21. معماریهای مونولیتیک در مقابل توزیعشده
- 22. معماری لایهای
- 23. معماری N-Tier
- 24. معماری ششضلعی (Ports & Adapters)
- 25. معماری پیاز (Onion Architecture)
- 26. مقدمهای بر طراحی دامنهمحور (DDD)
- 27. Bounded Contexts در DDD
- 28. طراحی استراتژیک در DDD
- 29. مقدمهای بر معماری تمیز (دیدگاه رابرت سی. مارتین)
- 30. دایرههای متحدالمرکز معماری تمیز
- 31. قانون وابستگی (The Dependency Rule) تشریح شده
- 32. Entity ها: درونیترین لایه
- 33. Use Case ها (Interactor ها): قوانین کسبوکار برنامه
- 34. Interface Adapter ها: پل زدن بین لایههای داخلی و خارجی
- 35. Framework ها و Driver ها: بیرونیترین لایه
- 36. جریان کنترل و داده در بین لایهها
- 37. تعریف مرزها و Abstraction ها
- 38. چه زمانی از معماری تمیز استفاده کنیم؟
- 39. مزایای معماری تمیز
- 40. تصورات غلط و اشتباهات رایج در معماری تمیز
- 41. ساختار پروژه برای معماری تمیز در Go
- 42. تعریف Domain Entity ها در Go
- 43. Value Object ها و Aggregate ها در Go
- 44. پیادهسازی اینترفیس Use Case (Ports)
- 45. پیادهسازی منطق Use Case (Interactors)
- 46. مدلهای درخواست و پاسخ برای Use Case ها
- 47. تعریف اینترفیس Repository (Gateway Ports)
- 48. پیادهسازی Repository های واقعی (Gateway Adapters)
- 49. تزریق وابستگی (Dependency Injection) دستی در Go
- 50. تزریق وابستگی با کتابخانههای شخص ثالث (مانند Wire, Fx)
- 51. استراتژی مدیریت خطا در بین لایهها
- 52. اعتبارسنجی ورودی در لایه بیرونی
- 53. اعتبارسنجی قوانین کسبوکار در Use Case ها
- 54. استفاده از Context برای دادههای Scope دار و لغو عملیات
- 55. جنریکها در Go برای الگوهای معماری
- 56. Handler های HTTP به عنوان Interface Adapter (Controller ها)
- 57. نقشهبرداری درخواستهای HTTP به ورودیهای Use Case
- 58. نقشهبرداری خروجیهای Use Case به پاسخهای HTTP
- 59. انتخاب فریمورک HTTP (net/http در مقابل Gin/Echo)
- 60. پیادهسازی Controller ها با net/http
- 61. پیادهسازی Controller ها با یک فریمورک (مانند Gin)
- 62. Presenter ها و View Model ها (اختیاری برای API ها)
- 63. DTO های درخواست و DTO های پاسخ
- 64. سریالیزه و دیسریالیزه کردن JSON
- 65. مدیریت مسیرها و Middleware ها در معماری تمیز
- 66. الگوی Repository با جزئیات
- 67. انتخاب پایگاه داده برای پروژههای Go
- 68. پیادهسازی Repository های پایگاه داده SQL
- 69. استفاده از ORM ها یا SQL Builder ها (GORM, SQLC, Squirrel)
- 70. مدیریت Pool اتصال و پیکربندی پایگاه داده
- 71. Repository های پایگاه داده NoSQL (مانند MongoDB, Redis)
- 72. ادغام API ها و سرویسهای خارجی
- 73. مدیریت کلاینتهای API شخص ثالث
- 74. Circuit Breaker ها برای سرویسهای خارجی
- 75. مدیریت تراکنشها در Repository ها
- 76. اهمیت تست در معماری تمیز
- 77. تست واحد (Unit Test) Entity های دامنه
- 78. تست واحد Use Case ها (منطق کسبوکار)
- 79. تست واحد پیادهسازی Repository ها
- 80. Mock کردن و Stub کردن وابستگیهای خارجی
- 81. Test Double ها: Mocks, Stubs, Fakes, Spies
- 82. تست یکپارچهسازی (Integration Test) لایهها
- 83. نوشتن کدهای قابل تست
- 84. هرم تست در معماری تمیز
- 85. توسعه مبتنی بر رفتار (BDD) با Go
- 86. تفکیک مسئولیتهای Command و Query (CQRS) در Go
- 87. اصول معماری مبتنی بر رویداد (EDA)
- 88. پیادهسازی Event Sourcing (مفاهیم پایه)
- 89. ادغام صفهای پیام (Kafka, RabbitMQ)
- 90. الگوی Saga برای تراکنشهای توزیعشده
- 91. قابلیت مشاهده: Log کردن، Metrics، Tracing
- 92. خاموش شدن نرم (Graceful Shutdown) در برنامههای Go
- 93. استراتژیهای استقرار برای سرویسهای Go
- 94. کانتینرسازی با Docker
- 95. مقدمهای بر ارکستراسیون با Kubernetes
- 96. ادغام احراز هویت و مجوزدهی
- 97. بهترین شیوههای امنیتی (OWASP Top 10)
- 98. تکنیکهای بهینهسازی عملکرد
- 99. بازسازی و تکامل معماری تمیز
- 100. موازنه و زمان مناسب برای انحراف از اصول
تگها:
Clean Architecture
clean code
Go
Go programming
Go Testing
software design
SOLID principles
اصول SOLID
الگوهای طراحی نرم افزار
برنامه نویسی گو
تست نویسی در گو
طراحی نرم افزار
کد تمیز
گو
معماری تمیز
معماری نرم افزار
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.