> For the complete documentation index, see [llms.txt](https://docs.eiffel.dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.eiffel.dev/principles.md).

# Principles

- [Domain-Driven Design](https://docs.eiffel.dev/principles/domain-driven-design.md)
- [Aggregates](https://docs.eiffel.dev/principles/domain-driven-design/aggregates.md): An Aggregate is a cluster of domain objects that are treated as a single unit with regards to data changes.
- [Entities](https://docs.eiffel.dev/principles/domain-driven-design/entities.md): Entities are uniquely identifiable by a combination of one or more attributes or properties
- [Value Objects](https://docs.eiffel.dev/principles/domain-driven-design/value-objects.md)
- [Domain Events](https://docs.eiffel.dev/principles/domain-driven-design/domain-events.md): Domain Events are an integral part of Domain-Driven Design and are used to communicate changes and trigger side-effects within the domain model.
- [Factories](https://docs.eiffel.dev/principles/domain-driven-design/factories.md)
- [Domain Services](https://docs.eiffel.dev/principles/domain-driven-design/domain-services.md)
- [Business Identifiers](https://docs.eiffel.dev/principles/domain-driven-design/business-identifiers.md)
- [Shared Kernel](https://docs.eiffel.dev/principles/domain-driven-design/shared-kernel.md)
- [Onion Architecture](https://docs.eiffel.dev/principles/onion-architecture.md)
- [Application Layer](https://docs.eiffel.dev/principles/onion-architecture/application-layer.md)
- [Domain Layer](https://docs.eiffel.dev/principles/onion-architecture/domain-layer.md)
- [Infrastructure Layer](https://docs.eiffel.dev/principles/onion-architecture/infrastructure-layer.md)
- [Anti-Corruption Layer](https://docs.eiffel.dev/principles/onion-architecture/anti-corruption-layer.md)
- [Modular Monolith Architecture](https://docs.eiffel.dev/principles/modular-monolith-architecture.md)
- [Modules](https://docs.eiffel.dev/principles/modular-monolith-architecture/modules.md)
- [Shared Infrastructure](https://docs.eiffel.dev/principles/modular-monolith-architecture/shared-infrastructure.md)
- [Microservice Architecture](https://docs.eiffel.dev/principles/microservice-architecture.md)
- [API Gateway](https://docs.eiffel.dev/principles/microservice-architecture/api-gateway.md)
- [View Model Composition](https://docs.eiffel.dev/principles/microservice-architecture/view-model-composition.md)
- [Contracts](https://docs.eiffel.dev/principles/microservice-architecture/contracts.md)
