SteveDunn/Vogen
این یک کتابخانه نیمهرأیگرا است که با استفاده از Source Generator و Code Analyzer در .NET، اشیاء مقداری (Value Objects) را به صورت خودکار تولید میکند. ️
کاربرد:
این ابزار به تو کمک میکنه تا بدون نوشتن دستی کدهای تکراری، Value Objectها رو به راحتی تعریف کنی. این کار باعث تمیزتر شدن کد، کاهش خطا و رعایت اصول DDD (طراحی مبتنی بر دامنه) میشه.
در چه شرایطی بهتره استفاده شود؟
وقتی داری روی یک پروژه دامنهمحور کار میکنی و زیاد از Value Objectها استفاده میکنی — مثل مدلکردن ایمیل، شماره تلفن، پول، یا هر نوع دادهای که نیاز به اعتبارسنجی و رفتار خاص داره. این ابزار بهترین عملکرد رو در پروژههای بزرگ و ساختاریافته داره.
چند مثال از موارد استفاده:
- تعریف یک Email به عنوان Value Object با اعتبارسنجی خودکار ️
- ساخت PhoneNumber با فرمتهای معتبر و رفتار مشخص
- ایجاد Money با واحد و مقدار، و جلوگیری از جمع کردن ارزهای مختلف
- تعریف Age که فقط مقادیر بین ۰ تا ۱۵۰ قبول کنه
- ##ValueObjects
- ##DDD
- ##SourceGenerators
- ##CSharp
- ##CleanCode
- ##CodeAnalysis
- ##NET6
- ##NET7
- ##SteveDunn
- ##Vogen
