Namespace Shift.Common.Timeline.Changes
Classes
- AggregateFactory<T>
Creates a new aggregate instance using the default constructor.
- AggregateRoot
Implements the base class for all aggregate roots. An aggregate forms a tree or graph of object relations. The aggregate root is the top-level container, which speaks for the whole and may delegates down to the rest. It is important because it is the one that the rest of the world communicates with.
- AggregateState
Represents the state (data) of an aggregate. A derived class should be a POCO (DTO/Packet) that includes a When method for each event type that changes its property values. Ideally, the property values for an instance of this class should be modified only through its When methods.
- Change
Defines the base class for all events.
- ChangeExtensions
Provides functions to convert between instances of IChange and SerializedChange.
- ChangeQueue
Implements a basic event queue.
- ChangeRepository
Saves and gets aggregates to and from an change store.
- SerializedAggregate
Provides a serialization wrapper for aggregates so we can use Entity Framework for basic DAL operations.
- SerializedChange
Provides a serialization wrapper for events so that common properties are not embedded inside the event data.
Interfaces
- IChange
Defines the minimum set of properties that every event must implement.
- IChangeQueue
Provides the features for a basic service bus to handle the publication of events.
- IChangeRepository
Provides functionality to get and save aggregates.
- IChangeStore
Defines the methods needed from the change store.