Reference¶
Quick summary¶
The Reference section defines the meaning and responsibility of each ForgingBlocks component. These pages are precise and definition-oriented — meant to be consulted as needed, not read linearly.
Components:
- Foundation — Core abstractions (Result, Port, Identified, Messages, Specification)
- Domain — Domain modeling (Entity, ValueObject, AggregateRoot, Specification)
- Application — Application layer patterns (UseCase, CommandHandler, RepositoryPort, EventStorePort)
- Infrastructure — Technical adapters and implementations (Repositories, Serializable)
- Presentation — Input/output boundaries
- Testing — Testing reference and guidelines
Dependencies point inward: Infrastructure/Presentation → Application → Domain, all depending on Foundation.
flowchart LR
D[Domain<br/>Problem-space concepts] -->|depends on| F[Foundation<br/>Shared abstractions]
A[Application<br/>Coordination & behavior] -->|depends on| D
A -->|depends on| F
I[Infrastructure<br/>Technical adapters] -->|depends on| A
I -->|depends on| F
P[Presentation<br/>Input boundaries] -->|depends on| A
Reference Sections¶
- Foundation - Core abstractions and utilities (Result, Port, Identified, Messages, Specification, etc.)
- Domain - Domain modeling abstractions (Entity, ValueObject, AggregateRoot, Specification)
- Application - Application layer patterns (UseCase, CommandHandler, RepositoryPort, EventStorePort, SpecificationRepositoryPort)
- Infrastructure - Infrastructure adapters and implementations (Repositories, Serializable)
- Presentation - Input/output boundaries and presentation layer
- Testing - Comprehensive testing reference and guidelines