Savvyio.Extensions.DependencyInjection 4.0.0-preview.1

This is a prerelease version of Savvyio.Extensions.DependencyInjection.
There is a newer prerelease version of this package available.
See the version list below for details.
dotnet add package Savvyio.Extensions.DependencyInjection --version 4.0.0-preview.1                
NuGet\Install-Package Savvyio.Extensions.DependencyInjection -Version 4.0.0-preview.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.Extensions.DependencyInjection" Version="4.0.0-preview.1" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Savvyio.Extensions.DependencyInjection --version 4.0.0-preview.1                
#r "nuget: Savvyio.Extensions.DependencyInjection, 4.0.0-preview.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.Extensions.DependencyInjection as a Cake Addin
#addin nuget:?package=Savvyio.Extensions.DependencyInjection&version=4.0.0-preview.1&prerelease

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

Savvyio.Extensions.DependencyInjection

Extend the Savvy I/O core assemblies with support for Microsoft Dependency Injection.

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 (8)

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

Package Downloads
Savvyio.Extensions.EFCore

Extend the Savvy I/O core assemblies with support for Microsoft Entity Framework Core.

Savvyio.Extensions.DependencyInjection.Domain

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

Savvyio.Extensions.DependencyInjection.EFCore

Extend the Savvy I/O support for Microsoft Dependency Injection with Microsoft Entity Framework Core implementation.

Savvyio.Extensions.DependencyInjection.Dapper

Extend the Savvy I/O support for Microsoft Dependency Injection with Dapper implementation.

Savvyio.App

Provides a complete and convenient set of API additions for building a DDD, CQRS and Event Sourcing enabled .NET application using Microsoft Dependency Injection, Microsoft Entity Framework Core, Dapper, AWS SNS/SQS and Azure Queue Storage/Azure Event Grid.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
4.0.0-preview.2 37 10/6/2024
4.0.0-preview.1 43 9/6/2024
3.0.0 300 9/1/2024
3.0.0-preview.3 81 8/13/2024
3.0.0-preview.2 38 8/4/2024
3.0.0-preview.1 38 7/31/2024
2.2.0 342 4/10/2024
2.1.0 353 3/5/2024
2.1.0-preview.17 75 3/3/2024
2.1.0-preview.14 58 3/2/2024
2.1.0-preview.12 65 2/28/2024
2.1.0-preview 331 2/26/2024
2.0.0 338 2/11/2024
2.0.0-preview.16 63 2/5/2024
2.0.0-preview.13 124 1/7/2024
2.0.0-preview.6 88 1/3/2024
2.0.0-preview 248 1/2/2024
1.2.0-preview 343 11/23/2023
1.1.0 1,072 12/6/2022
1.0.0 1,074 11/9/2022
0.8.0-rc 342 6/1/2022
0.7.0-rc 370 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
 
# Breaking Changes
- RENAMED ConfigureTriple{TOptions} extension method on the ServiceCollectionExtensions class in the Savvyio.Extensions.DependencyInjection namespace to: AddConfiguredOptions{TOptions}
 
# New Features
- EXTENDED ServiceCollectionExtensions class in the Savvyio.Extensions.DependencyInjection.Domain namespace with a new extension method for the IServiceCollection interface: AddUnitOfWork{TService}
 
# Improvements
- CHANGED AddDataStore{TService, T} extension method on the ServiceCollectionExtensions class in the Savvyio.Extensions.DependencyInjection.Data namespace to use a default lifetime of Scoped
- CHANGED AddDataStore{TService, T, TOptions} extension method on the ServiceCollectionExtensions class in the Savvyio.Extensions.DependencyInjection.Data namespace to use a default lifetime of Scoped
- CHANGED AddRepository{TService, TEntity, TKey} extension method on the ServiceCollectionExtensions class in the Savvyio.Extensions.DependencyInjection.Domain namespace to use a default lifetime of Scoped
- CHANGED AddMarshaller{TService} extension method on the ServiceCollectionExtensions class in the Savvyio.Extensions.DependencyInjection namespace to use a default lifetime of Singleton
- CHANGED AddDataSource{TService} extension method on the ServiceCollectionExtensions class in the Savvyio.Extensions.DependencyInjection namespace to use a default lifetime of Scoped
 
Version: 2.2.0
Availability: .NET 8, .NET 7 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
 
# New Features
- EXTENDED ServiceCollectionExtensions class in the Savvyio.Extensions.DependencyInjection namespace with new extension methods for the IServiceCollection interface: AddMarshaller{TService} and ConfigureTriple{TOptions}
 
Version: 1.1.0
Availability: .NET 7.0, .NET 6.0
 
# New Features
- ADDED IPointToPointChannel{TRequest, TMarker} interface in the Savvyio.Extensions.DependencyInjection.Messaging namespace that defines a generic way to support multiple implementations of a bus that is used for interacting with other subsystems (out-process/inter-application) to do something (e.g., change the state)
- ADDED IPublisher{TRequest, TMarker} interface in the Savvyio.Extensions.DependencyInjection.Messaging namespace that defines a generic way to support multiple implementations of a publisher/sender channel for interacting with other subsystems (out-process/inter-application) to be notified (e.g., made aware of something that has happened)
- ADDED IPublishSubscribeChannel{TRequest, TMarker} interface in the Savvyio.Extensions.DependencyInjection.Messaging namespace that defines a generic way to support multiple implementations of a bus that is used for interacting with other subsystems (out-process/inter-application) to be notified (e.g., made aware of something that has happened)
- ADDED IReceiver{TRequest, TMarker} interface in the Savvyio.Extensions.DependencyInjection.Messaging namespace that defines a generic way to support multiple implementations of a consumer/receiver channel used by subsystems to receive a command and perform one or more actions (e.g., change the state)
- ADDED ISender{TRequest, TMarker} interface in the Savvyio.Extensions.DependencyInjection.Messaging namespace that defines a generic way to support multiple implementations of a producer/sender channel used for interacting with other subsystems (out-process/inter-application) to do something (e.g., change the state)
- ADDED ISubscriber{TRequest, TMarker} interface in the Savvyio.Extensions.DependencyInjection.Messaging namespace that defines a generic way to support multiple implementations of a subscriber/receiver channel used by subsystems to subscribe to messages (typically events) to be made aware of something that has happened
- ADDED ServiceCollectionExtensions class in the Savvyio.Extensions.DependencyInjection.Messaging namespace that consist of extension methods for the IServiceCollection interface: AddMessageQueue, AddMessageBus
 
Version: 1.0.0
Availability: .NET 7.0, .NET 6.0
 
# New Features
- ADDED IDataSource interface in the Savvyio.Extensions.DependencyInjection namespace that defines a generic way to support multiple implementations that does the actual I/O communication with a source of data
- ADDED SavvyioDependencyInjectionOptions class in the Savvyio.Extensions.DependencyInjection namespace that specifies options that is related to setting up Savvy I/O services
- ADDED ServiceCollectionExtensions class in the Savvyio.Extensions.DependencyInjection namespace that consist of extension methods for the IServiceCollection interface: AddDataSource, AddServiceLocator, AddSavvyIO
- ADDED ServiceLocatorOptions class in the in the Savvyio.Extensions.DependencyInjection that provides configuration options for IServiceLocator
- ADDED IDataStore interface in the Savvyio.Extensions.DependencyInjection.Data namespace that defines a generic way to support multiple implementations of persistent data access based on the Data Access Object pattern
- ADDED IDeletableDataStore interface in the Savvyio.Extensions.DependencyInjection.Data namespace that defines a generic way to support multiple implementations of deletable data access objects (cruD)
- ADDED IPersistentDataStore interface in the Savvyio.Extensions.DependencyInjection.Data namespace that defines a generic way to support multiple implementations of the actual I/O communication with a data store that is responsible of persisting data (CRUD)
- ADDED IReadableDataStore interface in the Savvyio.Extensions.DependencyInjection.Data namespace that defines a generic way to support multiple implementations of readable data access objects (cRud)
- ADDED ISearchableDataStore interface in the Savvyio.Extensions.DependencyInjection.Data namespace that defines a generic way to support multiple implementations of searchable data access objects (cRud)
- ADDED IWritableDataStore interface in the Savvyio.Extensions.DependencyInjection.Data namespace that defines a generic way to support multiple implementations of writable data access objects (CrUd)
- ADDED ServiceCollectionExtensions class in the Savvyio.Extensions.DependencyInjection.Data namespace that consist of extension methods for the IServiceCollection interface: AddDataStore
- ADDED IDeletableRepository interface in the Savvyio.Extensions.DependencyInjection.Domain namespace that defines a generic way to support multiple implementations of deletable repositories (cruD)
- ADDED IPersistentRepository interface in the Savvyio.Extensions.DependencyInjection.Domain namespace that defines a generic way to support multiple implementations of persistent repositories (CRUD)
- ADDED IReadableRepository interface in the Savvyio.Extensions.DependencyInjection.Domain namespace that defines a generic way to support multiple implementations of readable repositories (cRud)
- ADDED IRepository interface in the Savvyio.Extensions.DependencyInjection.Domain namespace that defines a generic way to support multiple implementations of persistent data access based on the Repository pattern
- ADDED ISearchableRepository interface in the Savvyio.Extensions.DependencyInjection.Domain namespace that defines a generic way to support multiple implementations of searchable repositories (cRud)
- ADDED IUnitOfWork interface in the Savvyio.Extensions.DependencyInjection.Domain namespace that defines a generic way to support multiple implementations that bundles transactions from multiple IPersistentRepository{TEntity,TKey} calls into a single unit
- ADDED IWritableRepository interface in the Savvyio.Extensions.DependencyInjection.Domain namespace that defines a generic way to support multiple implementations of writable repositories (CrUd)
- ADDED ServiceCollectionExtensions class in the Savvyio.Extensions.DependencyInjection.Domain namespace that consist of extension methods for the IServiceCollection interface: AddRepository