فریم ورک .Net Core به سرعت از NET Core 1.0 به .NET 7 رشد کرده است و بسیاری از کتابخانه ها نیز برای کمک به توسعه دهندگان ارائه شده اند تا عملکردهای رایج مورد نیاز در برنامه را پیاده سازی کنند. بنابراین برای توسعه دهندگان بسیار مهم است که بفهمند این کتابخانه ها کدامند و با استفاده از این کتابخانه ها چه مشکلاتی برطرف می شوند.
این کتابخانه های ضروری NuGet برای ASP.NET Core رایگان و منبع باز هستند که توسط شخص دیگری نوشته شده است. هدف این کتابخانه های NuGet کمک به حل مشکلات رایج به روش های ساده تر است و همچنین به شما امکان می دهد بهره وری توسعه برنامه را بهبود بخشید.
استفاده از این کتابخانه ها به توسعه دهندگان این امکان را می دهد که از کدهای تست شده برای اکثر ویژگی های رایج مورد نیاز در برنامه استفاده کنند. این نه تنها به توسعه سریع برنامه کمک می کند، بلکه به توسعه دهندگان این امکان را می دهد که فقط بر روی الزامات کاربردی برنامه تمرکز کنند.
مزایا و معایب استفاده از کتابخانه های شخص ثالث
همچنین مهم است که مزایا و معایب استفاده از هر کتابخانه شخص ثالث را در برنامه خود بدانید تا بتوانید تصمیمی کاملاً آگاهانه بگیرید. در اینجا مزایا و معایب استفاده از کتابخانه شخص ثالث در برنامه آورده شده است.
مزایای استفاده از کتابخانه های شخص ثالث
- در زمان توسعه و آزمایش صرفه جویی می کند
- توسعه دهندگان می توانند بر الزامات عملکردی تمرکز کنند
- کد امتحان شده و تست شده
معایب استفاده از کتابخانه های شخص ثالث
- وابستگی به کد شخص ثالث
- گاهی اوقات پشتیبانی کافی برای کتابخانه شخص ثالث وجود ندارد
- ممکن است مشکلات امنیتی در کتابخانه وجود داشته باشد.
ضروری ترین کتابخانه های NuGet برای ASP.NET Core
در اینجا ضروری ترین کتابخانه های NuGet برای ASP.NET Core برای بهبود بهره وری و توسعه برنامه های بهتر با استفاده از این کتابخانه ها آورده شده است.
Serilog
عملیات نوشتن لاگ برنامه برای هر برنامه ای حیاتی است، زیرا به شما امکان می دهد رفتار برنامه را در محیط تولید تجزیه و تحلیل کنید و به شما کمک می کند تا در صورت وجود Exception در برنامه، علت اصلی را شناسایی کنید. همچنین میتوان از Logging برای ثبت پارامترهای عملکرد برای شناسایی قطعات کد در حال اجرا استفاده کرد. Serilog می تواند برای پیاده سازی Logging در برنامه های ASP.NET Core استفاده شود.
Serilog یک کتابخانه شخص ثالث است که عملکردی را برای ثبت رویدادهای برنامه، اطلاعات و Exception ها به مقصد مورد نظر مانند کنسول، فایل، پایگاه داده، ابر و غیره ارائه می دهد. همچنین Serilog به ورودی های گزارش اجازه می دهد تا به صورت گزارش های ساختاری قالب بندی شوند تا آن ورودی ها بتوانند توسط یک برنامه کامپیوتری خوانده و پردازش شود.
برای دانستن جزئیات بیشتر در مورد نحوه پیاده سازی Serilog در ASP.NET Core، می توانید آموزش راه اندازی Serilog در ASP.NET Core که به صورت رایگان ارائه شده است را ببینید.
Dapper
object-relational mapping یا(ORM) تکنیک برنامه نویسی است که در آن کوئری های پایگاه داده (SQL) را به زبان دلخواه خود می نویسید و خروجی را از پایگاه داده به عنوان اشیاء زبان برنامه نویسی دریافت می کنید. ORM تمام پیچیدگی ها را پنهان می کند و پرس و جوهای SQL را در اشیا کپسوله می کند. Dapper یکی از بهترین ORM هایی است که می تواند در ASP.NET Core برای تعامل با پایگاه داده استفاده شود.
Dapper یک نگاشت شی-رابطه ای ساده یا یک میکرو ORM است که می تواند برای نگاشت نتایج پایگاه داده به اشیاء C#.NET استفاده شود. با استفاده از Dapper در ASP.NET Core میتوانیم دستورات SQL را طوری بنویسیم که انگار در حال نوشتن آنها در استودیوی مدیریت SQL Server هستیم، اما نتایج به شی کلاس C#.NET نگاشت میشوند. Dapper این رابط را با پایگاه داده با نتایج عملکرد خوب ارائه می دهد و تقریباً به اندازه RAW ADO.NET سریع است. Dapper همچنین از پرس و جوهای پارامتری پشتیبانی می کند که می توانند برای جلوگیری از حملات SQL injection در برنامه ASP.NET Core استفاده شوند.
xUnit
همیشه مهم است که برنامه را قبل از اجرای آن در مرحله تولید یا تحویل به مشتری تست کنیم تا بتوان کیفیت برنامه ارائه شده را تضمین کرد. با افزایش اندازه کد، پیچیدگی برنامه افزایش می یابد، بنابراین زمان مورد نیاز برای تست افزایش می یابد. بنابراین برای این منظور، همیشه بهتر است تست در برنامه به صورت خودکار انجام شود زیرا این کار باعث کاهش زمان و تلاش مورد نیاز برای تست برنامه می شود.
در برخی از سازمانها برنامههایی وجود دارد که نیاز به اعمال تغییرات در هر ساعت دارند، بنابراین تستهای واحد خودکار در این پروژهها برای اطمینان از کیفیت خوب کد ارائهشده ضروری است. xUnit.NET می تواند برای خودکارسازی واحد تست برنامه در ASP.NET Core استفاده شود.
xUnit.net یک ابزار تست واحد رایگان، منبع باز برای NET Core و .NET است. xUnit.Net جدیدترین فریم ورک تست واحد برای پروژه های ASP.NET Core است و زمانی که مایکروسافت شروع به استفاده از آن برای ساخت کد ASP.NET Core Framework کرد، محبوبیت پیدا کرد. xUnit.net را می توان برای اجرای تست واحد در هر دو .NET Core و .NET Full Framework نیز استفاده کرد. XUnit.net جدیدترین فریم ورک تست است که مجموعه ای از ویژگی ها یا دکوراتورها را پیاده سازی می کند که می توانند در روش های تست استفاده شوند و با استفاده از آن ها می توانیم کد تست واحد را برای تست خودکار اجزای نرم افزار یا واحدهای یک برنامه کاربردی در ASP.NET Core بنویسیم.
Moq
همانطور که در بالا توضیح داده شد تست های واحد خودکار برای ارائه یک محصول با کیفیت مهم هستند، اما گاهی اوقات نوشتن این تست های واحد کار دشواری است زیرا ممکن است قطعات در حال آزمایش به قطعات دیگر وابسته باشند و این قطعات دیگر آماده نباشند یا ممکن است استفاده از این قطعات دیگر دشوار باشد. اینجاست که اشیاء ساختگی یا Mock به کمک می آیند، نسخه ساختگی یک شی چیزی است که رابط یکسانی را با شی واقعی پیاده سازی می کند تا بتواند مانند یک شی واقعی عمل کند، اما رفتار شی ساختگی در کد تست واحد می تواند با استفاده از پیکربندی یا از طریق کد کنترل می شود.
اشیاء ساختگی یا Mock چیزی جز کلاس های فیک نیستند که مقدار مشخص و پیکربندی شده ای را برای ورودی ارائه شده برمی گرداند. از Moq می توان برای پیاده سازی این اشیاء ساختگی برای اهداف تست واحد استفاده کرد.
Moq محبوب ترین و دوستانه ترین فریمورک Mocking موجود در GitHub برای ایجاد اشیاء ساختگی در NET و NET Core است. Moq از پیکربندی اشیاء ساختگی پشتیبانی می کند، و می توان ویژگی های و متدهای شی را با ورودی به آرگومانهای خاص تنظیم کرد، و مقادیر خاصی را برگرداند.
AutoMapper
در برنامه های خود که در آن با یک پایگاه داده برای ذخیره داده ها در ارتباط هستید، اشیاء مختلفی برای مشاهده مدل ها و موجودیت های پایگاه داده خواهید داشت. شی view model برای دریافت داده ها از کاربران استفاده می شود و entity های پایگاه داده با جداول پایگاه داده طراحی شده برای تعامل با پایگاه داده مطابقت دقیق دارند. در این سناریو، شما باید داده ها را از view model به نمونه entity پایگاه داده کپی کنید.
از آنجایی که اشیا کلاسهای متفاوتی هستند، نمیتوانید نمونهای از یک شی را به شی دیگری تنظیم کنید، باید از روش سنتی کپی کردن دادهها از یک شی به فیلد دیگر استفاده کنید. برای ساده کردن این کار نگاشت داده ها از یک شی به شی دیگر می توان از AutoMapper استفاده کرد.
Automapper در ASP.NET Core یک کتابخانه کوچک و محبوب برای نگاشت یک شی به شی است که برای نگاشت اشیاء از کلاس های مختلف استفاده می شود. Automapper در ASP.NET Core یک کتابخانه منبع باز است و ویژگی های دو شی متفاوت را ترسیم می کند. Automapper می تواند برای نگاشت اشیاء از هر کلاس استفاده شود، اما نام ویژگی ها در هر دو کلاس باید یکسان باشد. اگر نام ویژگی ها یکسان نیست، در آن صورت Automapper گزینه ای را برای تعیین دستی مجموعه نام ویژگی منبع و مقصد ارائه می دهد.
Newtonsoft Json.NET
این روزها بسیار رایج است که برنامهها به دلایل مختلف با Web API در تماس باشند، مانند بازیابی اطلاعات، سرویس ایمیل، سرویس پیام کوتاه، سرویس ابری و غیره. این APIها میتوانند پروژههای توسعه یافته خود ما یا سایر APIهای شخص ثالث باشند. هنگامی که صحبت از تبادل داده بین API های مختلف می شود، JSON محبوب ترین و رایج ترین فرمت است. وقتی روی برنامههای ASP.NET Core کار می کنید و با Web API تعامل دارید، تبدیل رشته دادههای JSON به شی NET C# و بالعکس برای دسترسی به API مبتنی بر JSON مورد نیاز است.
فرآیند تبدیل اشیاء C#.NET به رشتههای فرمت JSON به عنوان serialization و تبدیل رشتههای فرمت JSON به اشیاء C#.NET به عنوان deserialization شناخته میشود. Newtonsoft Json.NET کتابخانه ای است که می توان از آن برای serialization و deserialization استفاده کرد.
Json.NET یک چارچوب JSON برای دات نت از Newtonsoft است. Json.NET یک فریمورک بسیار محبوب و با کارایی بالا برای JSON است. Json.NET از ویژگی هایی مانند serialization و deserialization از هر شی .NET C#، LINQ to Json ، XML و غیره پشتیبانی می کند. Newtonsoft Json.NET یک کتابخانه شخص ثالث با کارایی بالا و استفاده آسان است. Json.NET از چند پلتفرم مانند Windows، macOS، Linux، Mono و Xamarin پشتیبانی می کند.
Fluent Validation
امروز ما در حال نوشتن API های عمومی هستیم که برای هر کسی در اینترنت قابل دسترسی است و کاربران مختلف می توانند انواع ورودی را ارائه دهند. امروزه اگر ما ورودی را به درستی تأیید نکنیم، شخصی با قصد اشتباه میتواند برنامه ما را پایین بیاورد. بنابراین اعتبارسنجی داده های ورودی برای هر برنامه ای حیاتی است که به دلیل ورودی های مختلف ارائه شده توسط کاربران، بدون هیچ مشکلی کار کند.
هنگامی که صحبت از اعتبار سنجی ورودی در ASP.NET Core C# می شود، ترجیح داده شده ترین رویکرد، استفاده از Data annotation ها است که در آن attribute هایی را برای هر property در مدل مشخص می کنید. این attribute ها اعتبار سنجی هایی هستند که زمانی که مدل برای پردازش اعتبار سنجی می شود، انجام می شود. این رویکرد قابل توسعه نیست.همچنین، این Data annotation در مدل با معماری کد تمیز و اصول SOLID مطابقت ندارد. کتابخانه FluentValidation می تواند برای انجام اعتبارسنجی در ASP.NET Core برای رفع برخی از concern ها استفاده شود.
FluentValidation یک کتابخانه اعتبار سنجی دات نت رایگان و پرطرفدار است که می تواند برای ایجاد قوانین اعتبار سنجی با انواع قوی استفاده شود. ایجاد قوانین اعتبارسنجی در FluentVlidations آسان است، و به تمیزی کد و نگهداری آسان برنامه کمک می کند. با استفاده از FluentValidations برای اعتبارسنجی در ASP.NET Core، کنترل بهتری بر اعتبارسنجی های موجود در برنامه خود خواهید داشت.
برای دانستن جزئیات بیشتر در مورد نحوه پیاده سازی FluentValidations در ASP.NET Core، می توانید آموزش استفاده از FluentValidations در ASP.NET Core را که به صورت رایگان ارائه شده است را ببینید.
Swashbuckle
هنگامی که یک Web API توسعه داده اید که توسط برنامه های کاربردی دیگر غیر از آن استفاده می شود، ارائه مستندات کامل و دقیق برای API بسیار مهم است. همچنین، توسعه دهندگانی که این API وب را استفاده می کنند، در تلاش هستند تا مسائل تجاری را حل کنند، بنابراین درک روش های مختلف آن بسیار مهم است. اسناد API دستورالعمل هایی را در مورد نحوه استفاده و ادغام API را در برنامه شما ارائه می دهد. این مشکل ایجاد سریع و دقیق مستندات مفید با جزئیات کامل برای وب API را می توان توسط Swagger که به عنوان OpenAPI نیز شناخته می شود برطرف کرد.
Swashbuckle یک کتابخانه منبع باز برای تولید اسناد swagger برای ASP.NET Core Web API است. شما می توانید اسناد API زیبا، از جمله یک رابط کاربری برای کاوش و آزمایش روش های عملکرد API ایجاد کنید. Swashbuckle همچنین Swagger-ui فوقالعادهای را ارائه میکند که توسط JSON Swagger تولید شده تامین میشود.
Codecell.Getway.Zarinpal
امروزه استفاده از درگاه های پرداخت امن در برنامه ها به یک امر ضروری تبدیل شده است. کتابخانه Codecell.Getway.Zarinpal یک کتابخانه شخص ثالت برای پیاده سازی و استفاده از درگاه امن و شخص ثالث زرین پال در Asp.net Core است که توسط تیم کدسل توسعه داده شده است. این کتابخانه به صورت متن باز و رایگان است و استفاده از آن بسیار آسان است.
برای دانستن جزئیات بیشتر در مورد نحوه استفاده از کتابخانه Codecell.Getway.Zarinpa در ASP.NET Core، می توانید صفحه گیت هاب آن را را ببینید.
Codecell.PersiandatePicker.MAUI
یکی از دغدغه ها و مشکلات جامعه فارسی نداشتن تقویم فارسی مناسب است. تیم کدسل با ارائه پکیج تقویم فارسی مناسب برای .NET MAUI قدمی در رفع این مشکل برداشته است. این پکیج در حال حاضر قابل استفاده در پلتفرم های Android و iOS است.
برای دانستن جزئیات بیشتر در مورد نحوه استفاده از کتابخانه Codecell.PersiandatePicker.MAUI در MAUI، می توانید صفحه گیت هاب آن را را ببینید.
نتیجه گیری
در این مقاله به بررسی ضروری ترین کتابخانه های شخص ثالث برای ASP.NET Core و این که چرا باید از این کتابخانه ها استفاده کنیم و چه ویژگی هایی توسط این کتابخانه ها ارائه می شود پرداختیم. استفاده از این کتابخانه ها در پروژه به شما این امکان را می دهد که از کدهای تست شده برای عملکردهای رایج استفاده کنید و فقط می توانید بر روی عملکردهای تجاری که باید به عنوان بخشی از برنامه خود توسعه داده شوند تمرکز کنید و در نتیجه زمان توسعه را کاهش دهید.
برای ثبت نظر باید در سایت ثبت نام یا ورود نمایید