The Epic namespace contains fundamental concepts that all Domain Driven applications built with the Epic's modeling patterns in mind will require.
Epic.Prelude defines here IVisitable interface and the composite visitor pattern. Epic.Core defines the Enterprise entry point to the domain model.
Epic.Prelude defines here IVisitable interface and the composite visitor pattern. Epic.Core defines the Enterprise entry point to the domain model.
Declaration Syntax
C# |
namespace Epic
Types
All Types | Classes | Interfaces |
Type | Description | |
---|---|---|
CompositeVisitor<(Of <(<'TResult>)>)> |
Visitors' composition. It uses composition to handle the visit of any type of expression tree.
| |
CompositeVisitorBase<(Of <(<'TResult, TExpression>)>)> |
Visitors' composition base class. This class must be derived from concrete compositions.
| |
Enterprise |
Enterprise entry point. It MUST be initialized once.
| |
EnterpriseBase |
Enterprise base class, to be injected in Enterprise during initialization.
| |
EpicException |
Base ancestor for all the infrastructural exceptions in the Epic's ecosystem.
| |
IEnvironment |
Environment of the running enterprise.
It will provide informations useful for the enterprise, but not belonging to the domain.
Obviously, no domain class should depend on either the environment or the tools
it provide: the domain model have to be coded, not configured.
| |
InstanceName<(Of <(<'TObject>)>)> |
Name to identify any instance of a given type (when the type has no identity
by itself, like an int, a logger or a db connection).
It could be used as a key on a Hashtable.
| |
IOrganization |
Model of the organization. It is the domain model entry point.
| |
IRepository<(Of <(<'TEntity, TIdentity>)>)> |
Common interface of repositories.
| |
IVisitable |
Visitable objects.
| |
IVisitContext |
Context of a visit.
| |
IVisitor<(Of <(<'TResult>)>)> |
Visitor producing a TResult.
| |
IVisitor<(Of <(<'TResult, TExpression>)>)> |
Visitor that knows how to visit a TExpression.
| |
IWorkingSession |
A user working session. It can be created or disposed by IOrganization | |
NonExhaustiveVisitorException |
Exception thrown when a visitor composition is can not visit an expression that it's intended to visit.
| |
NonExhaustiveVisitorException<(Of <(<'TExpression>)>)> |
Exception thrown when a visitor composition can not handle an expression that it is intended to visit.
| |
ObserverBase<(Of <(<'TEntity>)>)> |
Base class for entities' observers.
| |
UnvisitableExtensions |
Defines a set of extension methods that make some common type hierarchies
suitable for visit by a IVisitor<(Of <(<'TResult>)>)>.
| |
VisitableBase |
Base class for visitable expressions.
| |
VisitContext |
Visit context.
| |
CompositeVisitor<(Of <(<'TResult>)>)>..::..VisitorBase |
Base class for composable visitors.
|