Foundgine

HomeDocumentationFoundationComponents

Components

Contents


Responsibilities

Foundation owns:

Foundation never owns:


Project Structure

Foundgine.Foundation

Metadata/

Interfaces/

Planning/

Ids/

Primitives/

Utilities/

Each namespace contains immutable contracts shared across the framework.


Runtime Independence

Foundation intentionally knows nothing about Runtime.

It should never reference:

This separation keeps contracts stable.


SQL Independence

Foundation does not know SQL exists.

Metadata describes entities and relationships—not SQL syntax.

Identifier quoting, dialects, and serialization belong entirely to the SQL project.


Transport Independence

Foundation has no knowledge of:

Those projects simply consume Foundation contracts.


Native AOT

Foundation naturally supports Native AOT because it contains:

No reflection or runtime discovery should exist in Foundation.


Versioning

Foundation should evolve slowly.

Breaking changes ripple throughout every dependent project.

Changes should prioritize:

Foundation is the most stable project in the solution.




← Previous: Contracts Next: Extensibility