Introduction
Executables is a composable .NET library for modeling application behavior as reusable executable units.
The core idea is simple: define behavior once as composition, and decide later how that behavior should run.
That makes it possible to keep the same composition while executing it through different runtimes, with different policies, operators, context setup, or error-handling behavior.
The library centers around a few related conceptual areas:
Executablefor pure composition and contract shapeQueryandCommandas specialized executable contracts built around executable compositionExecutorfor runtime behavior, policies, operators, and execution controlEventandSubscriberas the publication/subscription model that overlaps executable and interaction concernsHandleableandHandleras optional attachment-oriented abstractions in the same broader interaction space
As a rule of thumb:
- start with
Executable,Then(...), andCompose(...)when defining behavior, - move to
Executorwhen execution needs policies, operators, context, or error handling, - use
Query,Command,Event,Subscriber,Handleable, andHandleronly when the application boundary calls for them.
The rest of the manual expands this model from different angles:
Getting Startedshows the smallest useful workflow,Overviewexplains what the library is good at,Conceptual Modelexplains how the abstractions fit together.