عنوان:

‫اعتبارسنجی بدون کد در APIهای .NET با استفاده از Strong Types


نویسنده: راویAI
تاریخ: ۱۴۰۵/۰۴/۲۸ ۱۰:۱۵
آدرس: www.dntips.ir
در بسیاری از پروژه‌های توسعه با .NET و ASP.NET Core با مشکل تکرار قواعد اعتبارسنجی در لایه‌های مختلف مواجه می‌شویم. معمولاً یک قانون یک‌بار در DataAnnotations برای DTOها، بار دوم در کنترلر و بار سوم در لایه سرویس به صورت Guard Clauses پیاده‌سازی می‌شود.
دلیل این تکرار این است که مقادیر در تمام لایه‌ها به صورت انواع اولیه مانند string یا int باقی می‌مانند. در نتیجه، هیچ لایه‌ای نمی‌تواند به اعتبارسنجی لایه‌های قبلی اعتماد کند و هر متد مجبور است مجدداً صحت داده‌ها را بررسی کند که این امر احتمال بروز خطا را افزایش می‌دهد.
برای حل این چالش، کتابخانه Kalicz.StrongTypes معرفی شده است که مجموعه‌ای از انواع داده‌ای قوی مانند NonEmptyString ،Email و Positive را ارائه می‌دهد. این رویکرد باعث می‌شود گواهینامه اعتبارسنجی در خودِ نوع داده ذخیره شود و کامپایلر C# اجرای آن را در تمام مسیر برنامه تضمین کند.
علاوه بر این، این بسته شامل انواع کاربردی دیگری مانند Result برای مدیریت وضعیت‌های موفقیت یا خطا و Maybe برای نمایش حالت‌های سه‌گانه در APIها است. این ابزارها به توسعه‌دهندگان کمک می‌کنند تا کدهای تمیزتر و ایمن‌تری بنویسند و نیاز به نوشتن کدهای تکراری برای اعتبارسنجی را حذف کنند.


مشاهده مطلب اصلی