v2.0.0-alpha.03
Fmodel
provides just enough tactical Domain-Driven Design patterns, optimized for Event Sourcing and CQRS.
v2.0.0 of the library is introducing breaking changes. Check the PR!
Besides keeping the focus on separating data from behavior, we want to split the responsibilities between the domain and application/adapter layers better.
For example,metadata types
exist only on the application layer, not leaking into the domain, as these don't benefit core logic. Example:traceId
,correlationId
, ...The library will use
alpha
/pre-release
versions until it reach production-ready quality. It will happen soon! We need more tests, better documentation.
To keep it simple,v2.*.*
will use the main branch going forward. v1.. will continue to be supported (bugs only, no new features)
The domain
components are fully isolated from the application layer and API-related concerns.
It represents a pure declaration (pure functions) of the program logic.
Decider
, View
, and Saga
The application
components orchestrate the execution of the logic by loading the state, executing domain components, and storing a new state.
EventSourcingAggregate
, StateStoredAggregate
, MaterializedView
, and SagaManager
Install
npm i @fraktalio/fmodel-ts
Available on https://www.npmjs.com/package/@fraktalio/fmodel-ts
Learn more
What's Changed
Full Changelog: v2.0.0-alpha.02...v2.0.0-alpha.03