MPCore.Domain
0.9.3
Prefix Reserved
dotnet add package MPCore.Domain --version 0.9.3
NuGet\Install-Package MPCore.Domain -Version 0.9.3
<PackageReference Include="MPCore.Domain" Version="0.9.3" />
<PackageVersion Include="MPCore.Domain" Version="0.9.3" />
<PackageReference Include="MPCore.Domain" />
paket add MPCore.Domain --version 0.9.3
#r "nuget: MPCore.Domain, 0.9.3"
#:package MPCore.Domain@0.9.3
#addin nuget:?package=MPCore.Domain&version=0.9.3
#tool nuget:?package=MPCore.Domain&version=0.9.3
MP Core
A backend framework for .NET 10 that makes the decisions every backend makes again, once, with a test for each: how a command runs, who opens and commits the transaction, how a message leaves with that transaction, how a failure becomes an HTTP or gRPC answer, how a token is validated, where logs and traces go.
This package is one of a cohort that shares one version. Most projects do not reference the packages by hand: they are generated.
dotnet tool install --global MPCore.Cli
dotnet new install MPCore.Templates
mpcore new backend --organization Acme --component Orders --output ./orders
| You write | MP Core does |
|---|---|
| A handler: a static method that takes a command and the ports it needs | Opens the transaction, runs validators first, saves, commits, and only then releases the messages the handler published |
| A business rule as a named class, checked by the aggregate | Reports it under its own code, as Problem Details or a rich gRPC status, in the caller's language |
RequireIdempotencyKey() on an endpoint |
Stores the key and the answer in the transaction that commits the change; a repeat receives the stored answer |
| An integration event raised by an aggregate | Delivers it to Kafka or RabbitMQ after the commit; a consumer's inbox stops a second delivery |
| Nothing | Token validation, protect-by-default endpoints, a named actor in every audit record, telemetry with redaction |
Learn more
- Source, documentation and the reference architecture: https://github.com/panahister/mpcore
- A complete example, three backends behind a gateway: https://github.com/panahister/mpcore-storefront-sample
- Release notes: https://github.com/panahister/mpcore/tree/main/docs/releases
Licensed under Apache-2.0.
| 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
- No dependencies.
NuGet packages (5)
Showing the top 5 NuGet packages that depend on MPCore.Domain:
| Package | Downloads |
|---|---|
|
MPCore.Messaging.Wolverine
Durable Wolverine messaging foundation with PostgreSQL persistence. |
|
|
MPCore.Persistence.EntityFrameworkCore.PostgreSql
EF Core and PostgreSQL implementation of MP Core persistence ports. |
|
|
MPCore.Persistence.Abstractions
Persistence ports for DDD aggregates and units of work. |
|
|
MPCore.Transport.Http
RFC 9457 problem-details rendering of MP Core transport-neutral failures over HTTP. |
|
|
MPCore.Transport.Grpc
Native gRPC failure mapping and interception for MP Core logical failures. |
GitHub repositories
This package is not used by any popular GitHub repositories.