LoomKit.Notifications.Abstractions
10.0.1
dotnet add package LoomKit.Notifications.Abstractions --version 10.0.1
NuGet\Install-Package LoomKit.Notifications.Abstractions -Version 10.0.1
<PackageReference Include="LoomKit.Notifications.Abstractions" Version="10.0.1" />
<PackageVersion Include="LoomKit.Notifications.Abstractions" Version="10.0.1" />
<PackageReference Include="LoomKit.Notifications.Abstractions" />
paket add LoomKit.Notifications.Abstractions --version 10.0.1
#r "nuget: LoomKit.Notifications.Abstractions, 10.0.1"
#:package LoomKit.Notifications.Abstractions@10.0.1
#addin nuget:?package=LoomKit.Notifications.Abstractions&version=10.0.1
#tool nuget:?package=LoomKit.Notifications.Abstractions&version=10.0.1
LoomKit.Notifications.Abstractions
The interfaces and abstract base types behind LoomKit.Notifications, split into their own lightweight package with no dependency on the concrete dispatcher implementation.
Status: early stage. The public API may still change between versions — pin a commit/tag if you depend on it.
Why a separate package
LoomKit.Notifications ships the whole pub/sub dispatcher: the default dispatcher, its DI registration helpers, reflection-based pipeline caching, telemetry, etc. A project that only needs to define notifications and handlers — typically a domain/DDD class library that shouldn't know how those notifications get dispatched — doesn't need any of that.
This package holds only:
- The marker/contract interfaces:
INotification,INotificationHandler<TNotification>,INotificationDispatcher. - The abstract base types meant to be extended:
NotificationMiddleware<TNotification>,NotificationDispatcher<TOptions>,NotificationDispatcherOptions,NotificationDispatcherOptionsBuilder<TOptions>.
Reference this package from a layer that should only depend on shapes (a domain project defining domain events and handler interfaces, a library authoring a custom INotificationDispatcher/NotificationMiddleware, a contracts-only shared project). Reference LoomKit.Notifications — which itself depends on this package — from your application/composition-root layer, where the concrete dispatcher, its DI wiring, and the assembly-scanning handler registration actually get used.
Installation
dotnet add package LoomKit.Notifications.Abstractions
Available on nuget.org — a package version is published automatically for every vX.Y.Z tag pushed to this repo.
If you're building the full dispatcher (dispatching notifications, not just defining them), install LoomKit.Notifications instead — it brings this package in transitively.
Contents
| Type | Kind | Purpose |
|---|---|---|
INotification |
interface | Marker for a notification (published to zero or more handlers). |
INotificationHandler<TNotification> |
interface | Implement one (or more) per notification type — where the actual logic lives. |
INotificationDispatcher |
interface | The entry point application code calls: DispatchAsync(...). |
NotificationMiddleware<TNotification> |
abstract class | Base type for cross-cutting pipeline behavior around a handler. |
NotificationDispatcher<TOptions> |
abstract class | Base type for a custom INotificationDispatcher implementation. |
NotificationDispatcherOptions |
abstract class | Base type for a dispatcher's configured options (service lifetime, middleware pipeline). |
NotificationDispatcherOptionsBuilder<TOptions> |
abstract class | Base type for a fluent builder that produces a TOptions, with the open-generic middleware-type validation built in. |
None of these types do anything by themselves — see LoomKit.Notifications for the default, ready-to-use implementation (DefaultNotificationDispatcher, AddDefaultNotificationDispatcher, assembly-scanning handler registration, tracing, ...) and for usage examples.
License
| 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
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 10.0.1 | 142 | 8/25/2026 |