go-kod/kod
این یک چارچوب برنامهنویسی برای زبان Go است که با استفاده از **generics**، قابلیت **تزریق وابستگی (Dependency Injection)** را فراهم میکند و همچنین از **برنامهنویسی جنبهمحور (AOP)** از طریق **اینترسپتورها (Interceptors)** پشتیبانی میکند.
کاربرد:
این فریمورک به توسعهدهندگان Go کمک میکند تا کدهای تمیزتر، قابل تستتر و انعطافپذیرتری بنویسند. با استفاده از تزریق وابستگی، مدیریت وابستگیهای کلاسها و ماژولها آسانتر میشود و با اینترسپتورها میتوان رفتارهای عمومی مثل لاگگیری، اعتبارسنجی یا مدیریت خطا را به صورت مجزا و بدون آلوده کردن کد اصلی پیادهسازی کرد.
در چه شرایطی بهتره استفاده شود؟
- وقتی داری یک سرویس بزرگ Go مینویسی و نیاز به مدیریت وابستگیهای پیچیده داری.
- وقتی میخوای از الگوهای طراحی حرفهای مثل AOP استفاده کنی.
- وقتی میخوای کدات رو تستپذیر و حرفهایتر کنی.
- وقتی از Go 1.18 یا بالاتر استفاده میکنی (چون generics نیازه).
چند مثال از موارد استفاده
اضافه کردن لاگگیری به تمام متدهای سرویس بدون تغییر کد اصلی
اعتبارسنجی ورودیها با یک اینترسپتور واحد
مدیریت تراکنشهای دیتابیس به صورت خودکار
تزریق سرویسهای مختلف به کنترلرها به صورت خودکار و ایمن
ساخت ماژولهای قابل reuse در پروژههای مختلف
- ##GoLang
- ##DependencyInjection
- ##AOP
- ##Generics
- ##BackendDev
- ##CleanCode
- ##Microservices
- ##GoFramework
- ##Interceptor
- ##Kod
