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

پروژه chimney

scalalandio/chimney

این یک کتابخانهٔ اسکالاییه که به تو کمک می‌کنه تا بدون نوشتن کدهای زائد، داده‌ها رو به‌راحتی و به‌صورت type-safe تبدیل کنی.

کاربرد:

وقتی توی یه پروژهٔ اسکالا داری با مدل‌های مختلف داده کار می‌کنی (مثلاً domain model، DTO، یا case class‌های ورودی/خروجی API)، chimney بهت اجازه می‌ده به‌راحتی یکی رو به دیگری تبدیل کنی بدون اینکه دستی هر فیلد رو نگاشت کنی.

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

وقتی می‌خوای:

- دو case class مشابه رو به هم تبدیل کنی (حتی اگر فیلدها کم‌وبیش داشته باشن)

- مقادیر رو با تغییرات جزئی (مثل rename فیلد یا محاسبهٔ مقدار جدید) منتقل کنی

- کدهای boilerplate مثل copy + نگاشت دستی رو حذف کنی

- تبدیل‌ها در زمان کامپایل type-safe باشن و اگر چیزی اشتباه بود، خطا بگیری

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

- تبدیل یک UserRequest به UserEntity در یه API

- آپدیت کردن یه مدل از طریق patch با تبدیل بهینهٔ فیلدها

- تبدیل مدل‌های لایه‌های مختلف (مثل service به controller) بدون افت امنیت نوع

  • ##Scala
  • ##FunctionalProgramming
  • ##TypeSafe
  • ##DataTransformation
  • ##CaseClass
  • ##Chimney
  • ##BoilerplateFree
  • ##API
  • ##Backend
  • ##CodeQuality