Savvyio.Domain 4.0.0-rc.1

This is a prerelease version of Savvyio.Domain.
There is a newer version of this package available.
See the version list below for details.
dotnet add package Savvyio.Domain --version 4.0.0-rc.1                
NuGet\Install-Package Savvyio.Domain -Version 4.0.0-rc.1                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Savvyio.Domain" Version="4.0.0-rc.1" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Savvyio.Domain --version 4.0.0-rc.1                
#r "nuget: Savvyio.Domain, 4.0.0-rc.1"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Savvyio.Domain as a Cake Addin
#addin nuget:?package=Savvyio.Domain&version=4.0.0-rc.1&prerelease

// Install Savvyio.Domain as a Cake Tool
#tool nuget:?package=Savvyio.Domain&version=4.0.0-rc.1&prerelease                

Savvyio.Domain

Provides the fundamental classes and interfaces to work with the concepts of DDD (Domain Driven Design).

About

An open-source project (MIT license) that provides a SOLID and clean .NET class library for writing DDD, CQRS and Event Sourcing applications.

Savvy I/O Flow

It is, by heart, free, flexible and built to extend and boost your agile codebelt.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 is compatible. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (9)

Showing the top 5 NuGet packages that depend on Savvyio.Domain:

Package Downloads
Savvyio.Extensions.EFCore.Domain

Extend the Savvy I/O support for Microsoft Entity Framework Core - optimized for DDD (Domain Driven Design).

Savvyio.Extensions.DependencyInjection.Domain

Extend the Savvy I/O support for Microsoft Dependency Injection - optimized for DDD (Domain Driven Design).

Savvyio.Domain.EventSourcing

Provides the default implementation of an Aggregate Root that is Event Sourced enabled. Complements the concepts of DDD (Domain Driven Design).

Savvyio.Extensions.DependencyInjection.EFCore.Domain

Extend the Savvy I/O support for Microsoft Dependency Injection with Microsoft Entity Framework Core implementation - optimized for DDD (Domain Driven Design).

Savvyio.Extensions.Dispatchers

Extend the Savvy I/O core assemblies with Mediator support to provide a uniform way of working with DDD, CQRS and Event driven architecture.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
4.0.0 184 11/13/2024
4.0.0-rc.1 112 11/12/2024
4.0.0-preview.2 54 10/6/2024
4.0.0-preview.1 54 9/6/2024
3.0.0 320 9/1/2024
3.0.0-preview.3 87 8/13/2024
3.0.0-preview.2 44 8/4/2024
3.0.0-preview.1 42 7/31/2024
2.2.0 427 4/10/2024
2.1.0 648 3/5/2024
2.1.0-preview.17 73 3/3/2024
2.1.0-preview.14 63 3/2/2024
2.1.0-preview.12 64 2/28/2024
2.1.0-preview 261 2/26/2024
2.0.0 337 2/11/2024
2.0.0-preview.16 66 2/5/2024
2.0.0-preview.13 123 1/7/2024
2.0.0-preview.6 83 1/3/2024
2.0.0-preview 255 1/2/2024
1.2.0-preview 373 11/23/2023
1.1.0 1,231 12/6/2022
1.0.0 1,154 11/9/2022
0.8.0-rc 433 6/1/2022
0.7.0-rc 425 5/11/2022

Version: 4.0.0
Availability: .NET 9 and .NET 8
 
# ALM
- REMOVED Support for TFM .NET 6 (LTS)
- CHANGED Dependencies to latest and greatest with respect to TFMs
 
Version: 3.0.0
Availability: .NET 8 and .NET 6
 
# ALM
- CHANGED Dependencies to latest and greatest with respect to TFMs
 
Version: 2.1.0
Availability: .NET 8, .NET 7 and .NET 6
 
# ALM
- CHANGED Dependencies to latest and greatest with respect to TFMs
 
Version: 2.0.0
Availability: .NET 8, .NET 7 and .NET 6
 
# ALM
- CHANGED Dependencies to latest and greatest with respect to TFMs
 
# Breaking Changes
- REMOVED SerializableAttribute and ISerializable implementations on all custom exceptions due to Microsoft decision on deprecating most of the legacy serialization infrastructure https://github.com/dotnet/docs/issues/34893
- MOVED ITracedAggregateRepository interface in the Savvyio.Domain.EventSourcing namespace to the namespace equivalent in the Savvyio.Core assembly
- MOVED ITracedAggregateRoot interface in the Savvyio.Domain.EventSourcing namespace to the namespace equivalent in the Savvyio.Core assembly
- MOVED ITracedDomainEvent interface in the Savvyio.Domain.EventSourcing namespace to the namespace equivalent in the Savvyio.Core assembly
- MOVED IAggregateRepository interface in the Savvyio.Domain namespace to the namespace equivalent in the Savvyio.Core assembly
- MOVED IAggregateRoot interface in the Savvyio.Domain namespace to the namespace equivalent in the Savvyio.Core assembly
- MOVED IDomainEvent interface in the Savvyio.Domain namespace to the namespace equivalent in the Savvyio.Core assembly
- MOVED IDomainEventDispatcher interface in the Savvyio.Domain namespace to the namespace equivalent in the Savvyio.Core assembly
- MOVED IDomainEventHandler interface in the Savvyio.Domain namespace to the namespace equivalent in the Savvyio.Core assembly
- MOVED IEntity interface in the Savvyio.Domain namespace to the namespace equivalent in the Savvyio.Core assembly
 
Version: 1.1.0
Availability: .NET 7.0, .NET 6.0
 
Version: 1.0.0
Availability: .NET 7.0, .NET 6.0
 
# New Features
- ADDED Aggregate class in the Savvyio.Domain namespace that represents the base class from which all implementations of an Aggregate Root (as specified in Domain Driven Design) should derive
- ADDED AggregateRoot class in the Savvyio.Domain namespace that provides a way to cover the pattern of an Aggregate Root as specified in Domain Driven Design
- ADDED DomainEvent class in the Savvyio.Domain namespace that provides a default implementation of the IDomainEvent interface
- ADDED DomainEventDispatcher class in the Savvyio.Domain namespace that provides a default implementation of the IDomainEventDispatcher interface
- ADDED DomainEventDispatcherExtensions class in the Savvyio.Domain namespace that consist of extension methods for the IDomainEventDispatcher interface: RaiseMany, RaiseManyAsync
- ADDED DomainEventExtensions class in the Savvyio.Domain namespace that consist of extension methods for the IDomainEvent interface: GetEventId, GetTimestamp
- ADDED DomainEventHandler class in the Savvyio.Domain namespace that provides a generic and consistent way of handling Domain Event (as specified in Domain Driven Design) objects that implements the IDomainEvent interface
- ADDED Entity class in the Savvyio.Domain namespace that provides a way to cover the pattern of an Entity as specified in Domain Driven Design
- ADDED IAggregateRepository interface in the Savvyio.Domain namespace that defines a generic way of abstracting persistent repositories (CRUD) that is optimized for Domain Driven Design
- ADDED IAggregateRoot interface in the Savvyio.Domain namespace that defines a marker interface of an Aggregate as specified in Domain Driven Design
- ADDED IDomainEvent interface in the Savvyio.Domain namespace that defines a marker interface that specifies something that happened in the domain that you want other parts of the same domain (in-process/inner-application) to be made aware of
- ADDED IDomainEventDispatcher interface in the Savvyio.Domain namespace that defines a Domain Event dispatcher that uses Fire-and-Forget/In-Only MEP
- ADDED IDomainEventHandler interface in the Savvyio.Domain namespace that specifies a handler responsible for objects that implements the IDomainEvent interface
- ADDED IEntity interface in the Savvyio.Domain namespace that defines an Entity as specified in Domain Driven Design
- ADDED SavvyioOptionsExtensions class in the Savvyio.Domain namespace that consist of extension methods for the SavvyioOptions class: AddDomainEventHandler, AddDomainEventDispatcher
- ADDED SingleValueObject record in the Savvyio.Domain namespace that provides an implementation of ValueObject tailored for handling a single value
- ADDED ValueObject record in the Savvyio.Domain namespace that represents an object whose equality is based on the value rather than identity as specified in Domain Driven Design
- ADDED ITracedAggregateRepository interface in the Savvyio.Domain.EventSourcing namespace that defines a generic way of abstracting traced read- and writable repositories (CRud) that is optimized for Domain Driven Design
- ADDED ITracedAggregateRoot interface in the Savvyio.Domain.EventSourcing namespace that defines an Event Sourcing capable contract of an Aggregate as specified in Domain Driven Design
- ADDED ITracedDomainEvent interface in the Savvyio.Domain.EventSourcing namespace that specifies something that happened in the domain that you want other parts of the same domain (in-process/inner-application) to be aware of