Skip to content

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