وب‌سرویس مجید

پروژه gowrap

hexdigest/gowrap

این ابزار یک تولیدکننده دکوراتور برای رابط‌های زبان Go است. ️

کاربرد:

وقتی می‌خوای بدون تغییر دادن کد اصلی، رفتار جدیدی به یک رابط (interface) اضافه کنی، از دکوراتور استفاده می‌کنی. GoWrap به صورت خودکار این دکوراتورها رو برایت می‌سازه.

در چه شرایطی بهتره استفاده شود؟

وقتی داری روی یک پروژه Go کار می‌کنی و نیاز داری لجینگ، متریک، تریسینگ یا اعتبارسنجی (validation) رو به صورت شفاف به رابط‌ها اضافه کنی، GoWrap می‌تونه خیلی کمک‌کننده باشه. همچنین برای تست و شبیه‌سازی (mocking) هم مفیده.

چند مثال از موارد استفاده:

اضافه کردن لاگ قبل و بعد از فراخوانی متد

اندازه‌گیری زمان اجرای متد برای مانیتورینگ

اعتبارسنجی ورودی‌ها در لایه سرویس

افزودن retry مکانیزم به فراخوانی‌های خارجی

ایجاد نسخه‌های تست‌پذیر از سرویس‌ها با دکوراتورهای شبیه‌ساز

  • ##GoLang
  • ##CLItool
  • ##CodeGeneration
  • ##DecoratorPattern
  • ##DevTools
  • ##SoftwareDesign
  • ##Automation
  • ##Godev
  • ##Programming
  • ##gowrap