PDA

View Full Version : استفاده درست از fluent validatin در معماری تمیز



ebrahim.rayatparvar
دوشنبه 12 تیر 1402, 00:37 صبح
سلام دوستان امید وارم حال همتون خوب باشی دلتون شاد باشه.
میخواستم نظر دوستان رو در مورد جایگاه fluent validatin در معماری تمیز بدونم که شما از fluent validatin در چه لایه ای استفاده میکنید و چرا. مثلا میایید اثلا برای rule های خودتون لایه جدایی میسازید؟ یا در لایه enttity یا core مینویسید یا در Application و یا در خود Api ui مینویسید که dto های خودتون رو اعتبار سنجی کنید. خیلی دوست دارم نظرات و تجربیات دوستان رو در پروژه های مختلف بدونم و ازش استفاده کنم.

با تشکر
ابراهیم

bitasoft.ir
شنبه 01 مهر 1402, 19:58 عصر
سلام ابراهیم عزیز،
استفاده از کتابخانه‌های مانند Fluent Validation در معماری تمیز و مدیریت کد منطقی می‌تواند بسیار مفید باشد. انتخاب محل و نحوه استفاده از آن به شدت به معماری و نیازهای پروژه شما بستگی دارد. در زیر تعدادی از گزینه‌های معمول برای استفاده از Fluent Validation در معماری تمیز را مطرح کرده‌ام:
لایه DTO (Data Transfer Object) در UI یا Application Layer:
یکی از جایگاه‌های معمول برای استفاده از Fluent Validation، لایه DTO در UI یا Application Layer است. شما می‌توانید DTO‌هایی که به واسطه ورودی و خروجی از وب سرویس‌ها یا متدهای برنامه‌نویسی شما استفاده می‌شوند، در این لایه اعتبارسنجی کنید. این اعتبارسنجی ممکن است شامل بررسی اعتبار و ویژگی‌های مورد نیاز مانند اعتبار تاریخ، اعتبار فرمت ایمیل، و غیره باشد.
لایه Application:
شما می‌توانید Fluent Validation را در لایه Application مورد استفاده قرار دهید تا اعتبارسنجی برای داده‌هایی که از UI به لایه Application منتقل می‌شوند، انجام شود. این رویکرد به شما امکان می‌دهد که اعتبارسنجی را در یک مکان متمرکز کنید و از تکرار متکرر در کدهای مختلف جلوگیری کنید.
لایه Domain Entity یا Core:
در برخی موارد، ممکن است نیاز باشد که قوانین اعتبارسنجی برای دامنه اصلی یا موجودیت‌های مهم در لایه Core یا Domain اعمال شود. این موارد معمولاً وابستگی‌های بیشتری دارند و از اهمیت ویژگی‌های مهم بیزینس شما برخوردارند.
لایه جداگانه برای قوانین اعتبارسنجی (Validation Layer):
در برخی موارد پیچیده‌تر، ممکن است بخواهید یک لایه جداگانه برای قوانین اعتبارسنجی ایجاد کنید. این لایه می‌تواند به عنوان یک Validation Layer جداگانه عمل کند و قوانین اعتبارسنجی را برای همه لایه‌های دیگر مدیریت کند.
تصمیم گیری نهایی در مورد جایگاه و استفاده از Fluent Validation بستگی به نیازهای پروژه، ساختار معماری و تفضیلات تیم توسعه دارد. مهمترین نکته این است که اعتبارسنجی به صورت مستمر و یکپارچه در کل پروژه اعمال شود تا داده‌های ناپایدار و نادرست وارد سیستم نشوند و امنیت و صحت داده‌ها تضمین شود.


سلام دوستان امید وارم حال همتون خوب باشی دلتون شاد باشه.
میخواستم نظر دوستان رو در مورد جایگاه fluent validatin در معماری تمیز بدونم که شما از fluent validatin در چه لایه ای استفاده میکنید و چرا. مثلا میایید اثلا برای rule های خودتون لایه جدایی میسازید؟ یا در لایه enttity یا core مینویسید یا در Application و یا در خود Api ui مینویسید که dto های خودتون رو اعتبار سنجی کنید. خیلی دوست دارم نظرات و تجربیات دوستان رو در پروژه های مختلف بدونم و ازش استفاده کنم.

با تشکر
ابراهیم