Savvyio.Domain 4.0.0

dotnet add package Savvyio.Domain --version 4.0.0                
NuGet\Install-Package Savvyio.Domain -Version 4.0.0                
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" />                
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                
#r "nuget: Savvyio.Domain, 4.0.0"                
#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

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

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 179 11/13/2024
4.0.0-rc.1 105 11/12/2024
4.0.0-preview.2 51 10/6/2024
4.0.0-preview.1 51 9/6/2024
3.0.0 317 9/1/2024
3.0.0-preview.3 84 8/13/2024
3.0.0-preview.2 41 8/4/2024
3.0.0-preview.1 39 7/31/2024
2.2.0 424 4/10/2024
2.1.0 645 3/5/2024
2.1.0-preview.17 70 3/3/2024
2.1.0-preview.14 60 3/2/2024
2.1.0-preview.12 61 2/28/2024
2.1.0-preview 258 2/26/2024
2.0.0 334 2/11/2024
2.0.0-preview.16 63 2/5/2024
2.0.0-preview.13 120 1/7/2024
2.0.0-preview.6 80 1/3/2024
2.0.0-preview 252 1/2/2024
1.2.0-preview 370 11/23/2023
1.1.0 1,228 12/6/2022
1.0.0 1,151 11/9/2022
0.8.0-rc 430 6/1/2022
0.7.0-rc 422 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