Maydon.Utilities.Application
1.0.3
dotnet add package Maydon.Utilities.Application --version 1.0.3
NuGet\Install-Package Maydon.Utilities.Application -Version 1.0.3
<PackageReference Include="Maydon.Utilities.Application" Version="1.0.3" />
<PackageVersion Include="Maydon.Utilities.Application" Version="1.0.3" />
<PackageReference Include="Maydon.Utilities.Application" />
paket add Maydon.Utilities.Application --version 1.0.3
#r "nuget: Maydon.Utilities.Application, 1.0.3"
#:package Maydon.Utilities.Application@1.0.3
#addin nuget:?package=Maydon.Utilities.Application&version=1.0.3
#tool nuget:?package=Maydon.Utilities.Application&version=1.0.3
Maydon.Utilities
A lightweight and modular collection of reusable utilities, abstractions, and base classes for .NET applications. This project provides the core building blocks for applications following Domain-Driven Design (DDD) principles and modern .NET best practices.
Packages
The toolkit is divided into three focused packages to minimize dependencies:
- Maydon.Utilities: Core domain foundations (Result pattern, Entity bases, Domain events).
- Maydon.Utilities.Application: Application layer abstractions (CQRS, Messaging, Decorators).
- Maydon.Utilities.Persistence: Database infrastructure (Entity Framework Core support, Interceptors).
Features
🏗️ Domain Layer (Maydon.Utilities)
- Result Pattern: Type-safe error handling with
Result<T>andResulttypes. - Entity Base Classes: Rich entity base class with domain events, audit fields, and soft delete support.
- Domain Events: Event-driven architecture support with
IDomainEventand publication markers. - Value Objects: Foundational support for DDD value objects.
🚀 Application Layer (Maydon.Utilities.Application)
- CQRS Infrastructure:
ICommand,IQuery, and their respective handlers. - Decorators: Built-in support for Logging and Validation decorators.
- Pagination: Strongly-typed
PagedList<T>and query support.
💾 Persistence Layer (Maydon.Utilities.Persistence)
- EF Core Interceptors: Automatic handling of Audit, Soft Delete, and Domain Event publication.
- Database Migrators: Unified interface for applying pending migrations.
Installation
Install the core package via NuGet:
dotnet add package Maydon.Utilities
For application and persistence support:
dotnet add package Maydon.Utilities.Application
dotnet add package Maydon.Utilities.Persistence
Quick Start
Result Pattern
using Maydon.Utilities.Results;
public Result<User> GetUser(Guid id)
{
var user = _repository.Get(id);
return user is not null
? user
: Result.Failure<User>(Error.NotFound("User.NotFound", "User not found"));
}
Domain Entities
using Maydon.Utilities.Entities;
public class Product : Entity
{
public string Name { get; set; }
public void UpdateName(string newName)
{
Name = newName;
AddDomainEvent(new NameUpdatedEvent(Id, newName));
}
}
Requirements
- .NET 10.0 or later
License
This project is licensed under the MIT License - see the LICENSE file for details.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- FluentValidation.DependencyInjectionExtensions (>= 12.1.1)
- Maydon.Utilities (>= 1.0.3)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.1)
- Scrutor (>= 7.0.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Maydon.Utilities.Application:
| Package | Downloads |
|---|---|
|
Maydon.Utilities.Persistence
Entity Framework Core support for Maydon projects, including auditable, soft-delete, and modifiable entity interceptors. |
GitHub repositories
This package is not used by any popular GitHub repositories.