Adding content to 118-good-to-know-libraries

pull/3294/head
mouaaz 2 years ago
parent 0274d9eddb
commit 25ea9aeb00
  1. 9
      src/roadmaps/aspnet-core/content/118-good-to-know-libraries/100-mediatr.md
  2. 10
      src/roadmaps/aspnet-core/content/118-good-to-know-libraries/101-fluent-validation.md
  3. 10
      src/roadmaps/aspnet-core/content/118-good-to-know-libraries/102-polly.md
  4. 11
      src/roadmaps/aspnet-core/content/118-good-to-know-libraries/103-nuke.md
  5. 10
      src/roadmaps/aspnet-core/content/118-good-to-know-libraries/104-benchmark-net.md
  6. 9
      src/roadmaps/aspnet-core/content/118-good-to-know-libraries/105-noda-time.md
  7. 8
      src/roadmaps/aspnet-core/content/118-good-to-know-libraries/106-gen-fu.md
  8. 10
      src/roadmaps/aspnet-core/content/118-good-to-know-libraries/107-swash-buckle.md
  9. 15
      src/roadmaps/aspnet-core/content/118-good-to-know-libraries/index.md

@ -1 +1,8 @@
# Mediatr
# MediatR
MediatR is an open-source library for .NET that is designed to simplify the process of handling messages and commands in a clean, decoupled manner. It's particularly useful in applications that use the Command-Query Responsibility Segregation (CQRS) pattern and event-driven architecture. It provides a simple and easy-to-use API for handling messages, and supports the concept of pipelines, which allow you to add additional behavior to message handling, such as logging, validation, and exception handling.
For more information, visit the following links:
- [Use MediatR in ASP.NET or ASP.NET Core](https://medium.com/dotnet-hub/use-mediatr-in-asp-net-or-asp-net-core-cqrs-and-mediator-in-dotnet-how-to-use-mediatr-cqrs-aspnetcore-5076e2f2880c)
- [How to implement CQRS using MediatR in an ASP.NET?](https://blog.christian-schou.dk/how-to-implement-cqrs-with-mediatr-in-asp-net/)

@ -1 +1,9 @@
# Fluent validation
# FluentValidation
FluentValidation is an open-source library for .NET that provides a fluent, easy-to-use API for validating domain models. It allows developers to define validation rules using a fluent, chainable syntax. It separates validation rules into separate classes called validators, it supports async validation, custom validation rules, and cascading validation. It makes it easy to read and understand the validation logic, and it returns a ValidationResult object, which contains information about any validation errors that were found.
To learn more, visit the following links:
- [Documentations of FluentValidation](https://docs.fluentvalidation.net/en/latest/)
- [FluentValidation in ASP.NET Core](https://docs.fluentvalidation.net/en/latest/aspnet.html)
- [Overview of FluentValidation in ASP.NET Core](https://code-maze.com/fluentvalidation-in-aspnet/)

@ -1 +1,9 @@
# Polly
# Polly
Polly is an open-source library for .NET that provides a simple and flexible API for handling transient faults and other types of errors that occur during the execution of a service. It allows developers to define a set of policies, such as retry, circuit breaker, and timeout, that can be used to handle specific types of errors and improve the resiliency of the service. It provides a fluent API that makes it easy to define and configure policies, supports advanced features such as async and sync execution, fallback policies, and policy wrapping. Additionally, it allows to specify the exception type that is thrown and it would trigger the policy.
To learn more, visit the following resources:
- [Intro to Polly in ASP.NET](https://www.pluralsight.com/blog/software-development/intro-to-polly)
- [Using Polly for .NET Resilience](https://www.telerik.com/blogs/using-polly-for-net-resilience-and-transient-fault-handling-with-net-core)
- [Build Resilient Microservices Using Polly In ASP.NET](https://procodeguide.com/programming/polly-in-aspnet-core/)

@ -1 +1,10 @@
# Nuke
# NUKE
NUKE (Build Automation for .NET) is an open-source build automation tool for .NET projects. It is designed to be simple, flexible, and extensible, making it easy to automate the build, test, and deployment process of your .NET projects.
NUKE allows you to define your build process using a simple, declarative syntax, making it easy to understand and maintain. It provides a set of built-in tasks for common build actions, such as compiling, testing, and publishing, as well as a powerful extensibility model that allows you to add custom tasks and scripts.
To learn more, visit the following links:
- [How to Build Automation with NUKE](https://learn.microsoft.com/en-us/shows/on-net/build-automation-with-nuke)
- [Automate your .NET project builds with NUKE](https://laurentkempe.com/2022/02/02/automate-your-dotnet-project-builds-with-nuke-a-cross-platform-build-automation-solution/)

@ -1 +1,9 @@
# Benchmark net
# BenchmarkDotNet
BenchmarkDotNet is an open-source library for .NET that provides a simple and easy-to-use API for benchmarking the performance of code. It allows you to measure the performance of methods, classes, and entire assemblies, and provides a rich set of features for analyzing and comparing the results. It provides a wide range of performance metrics, such as CPU cycles, memory allocation, and garbage collection, and can generate detailed reports that include charts, tables, and source code highlighting. It has support for multithreading and a built-in support for .NET Core.
To learn more, visit the following links:
- [Benchmarking .NET Using BenchmarkDotNet](https://www.codemag.com/Article/2209061/Benchmarking-.NET-6-Applications-Using-BenchmarkDotNet-A-Deep-Dive)
- [Benchmarking ASP.NET Applications with .NET Crank](https://www.youtube.com/watch?v=2IgfrnG-128)
- [Intro to BenchmarkDotNet](https://www.youtube.com/watch?v=mmza9x3QxYE)

@ -1 +1,8 @@
# Noda time
# Noda Time
Noda Time is an open-source library for .NET that provides a more complete and accurate way of working with dates, times, and time zones. It addresses the limitations and inconsistencies of the built-in .NET DateTime and TimeZone classes, and provides a number of features that are not present in the .NET framework. It provides a set of immutable and thread-safe value types, such as LocalDate, LocalTime, and Instant. It also provides a time zone abstraction, the DateTimeZone class, that allows you to work with time zones in a more accurate and consistent way, and a set of helper classes and extension methods that make it easy to perform common date and time-related operations.
To learn more, visit the following links:
- [Intro to Noda Time](https://nodatime.org/)
- [What's the use of Noda Time?](https://nodatime.org/3.1.x/userguide/rationale)

@ -1 +1,7 @@
# Gen fu
# GenFu
GenFu is an open-source library for .NET that provides a simple and flexible way to generate test data for use in automated testing and development. It uses a fluent API to define the types of data that should be generated, and provides a set of built-in generators for common types, such as strings, numbers, and dates. It allows you to easily generate large quantities of test data quickly, and it is especially useful when working with complex object graphs and scenarios that require large amounts of data. It also has built-in support for some of the common libraries like AutoFixture, NBuilder and more, so that you can use it seamlessly with those libraries.
To learn more, visit the following links:
- [Overview of GenFu in ASP.NET](https://github.com/MisterJames/GenFu)

@ -1 +1,9 @@
# Swash buckle
# Swashbuckle
Swashbuckle is an open-source library for .NET that provides a simple and easy-to-use API for generating Swagger (OpenAPI) documentation for web APIs. It automatically generates a Swagger specification for your API based on your existing .NET code, and provides a set of tools for customizing and displaying the documentation in a user-friendly format. It can be easily integrated into an ASP.NET Core web application and has a built-in web UI for developers and users to interact with the API and test its functionality. It also supports some of the advanced features like Authentication, Authorization, and more.
To learn more, visit the following resources:
- [Get started with Swashbuckle and ASP.NET Core](https://learn.microsoft.com/en-us/aspnet/core/tutorials/getting-started-with-swashbuckle?view=aspnetcore-7.0&tabs=visual-studio)
- [How to Setup Swagger in ASP.NET with Swashbuckle?](https://www.andrewhoefling.com/Blog/Post/web-api-swagger-swashbuckle)
- [How to use Swagger/Swashbuckle in ASP.NET?](https://www.pragimtech.com/blog/azure/how-to-use-swagger-in-asp.net-core-web-api/)

@ -1 +1,14 @@
# Good to know libraries
# Good To Know Libraries
There are many libraries available for .NET and ASP.NET that can help you with various tasks and improve your development workflow. Some of the libraries that are commonly used and considered to be "good to know" include:
- Entity Framework
- AutoMapper
- MediatR
- FluentValidation
- Newtonsoft.Json
To learn more, visit the following resources:
- [Top ASP.NET Libraries – Every Developer Should Know](https://procodeguide.com/programming/top-12-aspnet-core-libraries/)
- [Top 10 .NET Libraries Every Developer Should Know](https://www.syncfusion.com/blogs/post/top-10-net-core-libraries-every-web-developers-should-know.aspx)
Loading…
Cancel
Save