API Specification Reference
This is the API specification document defining the public types, interfaces, and attributes of the Functorium framework. For design intent and hands-on guidance, see the Framework Guide. Use this document to verify “what exactly is provided.”
Project Structure
Section titled “Project Structure”| NuGet Package | Namespace Root | Role |
|---|---|---|
| Functorium | Functorium.Domains.*, Functorium.Applications.*, Functorium.Abstractions.* | Domain/Application core types |
| Functorium.Adapters | Functorium.Adapters.* | Infrastructure adapters, Pipeline, DI registration |
| Functorium.SourceGenerators | Functorium.SourceGenerators.* | Compile-time code generators |
| Functorium.Testing | Functorium.Testing.* | Test utilities, architecture rules |
Specification List
Section titled “Specification List”Domain Core
Section titled “Domain Core”| Document | Description |
|---|---|
| Entity and Aggregate | Entity<TId>, AggregateRoot<TId>, EntityId, mixin interfaces |
| Value Object | ValueObject, SimpleValueObject<T>, Union types, equality/comparison |
| Error System | DomainErrorType, ApplicationErrorType, AdapterErrorType, factory API |
Application Layer
Section titled “Application Layer”| Document | Description |
|---|---|
| Validation System | TypedValidation, ContextualValidation, FluentValidation integration |
| Usecase CQRS | FinResponse<T>, CQRS interfaces, LINQ extensions, caching/persistence contracts |
| Domain Events | DomainEvent, Publisher/Collector, Handler, Ctx Enricher |
Adapter/Infrastructure
Section titled “Adapter/Infrastructure”| Document | Description |
|---|---|
| Port and Adapter | IRepository, IQueryPort, Specification, DI registration, implementation base classes |
| Pipeline | 8 Pipeline behaviors, custom extensions, PipelineConfigurator, OpenTelemetry settings |
Cross-Cutting Concerns
Section titled “Cross-Cutting Concerns”| Document | Description |
|---|---|
| Observability | Field/Tag specification, Meter definitions, message templates, Pipeline ordering |
| Source Generators | 5 source generator specifications (EntityId, ObservablePort, CtxEnricher, UnionType) |
| Testing Library | FinTFactory, Host Fixture, architecture rules, error assertions |