software-design-patterns
Result
software-design-patterns | Result | |
---|---|---|
1 | 4 | |
95 | 752 | |
- | - | |
0.0 | 7.3 | |
about 2 years ago | 23 days ago | |
C# | C# | |
GNU General Public License v3.0 only | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
software-design-patterns
-
The Mediator Pattern
I will not discuss the whole process of setting up the project to use these libraries because the source code is for this example is available. For the purpose of this article we will only discuss the Mediator pattern implementation.
Result
-
Advantages and disadvantages of FastEndpoints
Using the Nuget Package Ardalis.Result for mapping result objects to HTTP Response Codes and associated objects; FastEndpoint has its own way of approaching this problem, which seems to be to hang everything off an "Endpoint" and optionally using Swagger to redundantly describe the route's behavior; this seems like a step backwards from more advanced Web frameworks in other languages. The advantage of Ardalis.Result should be clear - each closed form of Ardalis.Result can have its own knowledge of what it does, and therefore automatically describe the abstract transformations it does on a request. In functional programming, this "abstract transformation" is typically called a monad transformer or Arrow. Once you have a type that describes the abstract transformation, plugging that into Swagger should be straight-forward.
-
Why doesn't eager loading work with EF?
You could also use the Ardalis Guard Clause, Ardalis Result and Fluent Validation
-
The Operation Result Pattern
I use this generic package. https://github.com/ardalis/Result
-
Best practices for return values to handle success and failure conditions of business rules, exceptions, and returning a result?
For you're Result.cs , look at [Result pattern]https://github.com/ardalis/Result) as an example.
What are some alternatives?
MediatR - Simple, unambitious mediator implementation in .NET
FluentResults - A generalised Result object implementation for .NET/C#
DesignPatternsLibrary - A comprehensive design patterns library implemented in C#, which covers various design patterns from the most commonly used ones to the lesser-known ones. Get familiar with and learn design patterns through moderately realistic examples.
clean-minimal-api - A project showcasing how you can build a clean Minimal API using FastEndpoints
SmartEnum - A base class for quickly and easily creating strongly typed enum replacements in C#.
awesome-dotnet-tips - Curated list of awesome tips and tricks, resources, videos and articles in .net, software architecture, microservice and cloud-native
Specification - Base class with tests for adding specifications to a DDD model