# Architecture principles whose type is approach

> 9 records

This index as JSON: https://banes-lab.com/json/api/facets/architecture/type/approach

## Entries

- [Immutable Infrastructure](https://banes-lab.com/records/architecture/immutable-infrastructure.md): An approach in which servers are replaced from a new image for every change, instead of being patched in place.
- [Evolutionary Architecture](https://banes-lab.com/records/architecture/evolutionary-architecture.md): An approach in which the architecture changes in small increments, each guarded by fitness functions.
- [Minimum Viable Architecture](https://banes-lab.com/records/architecture/minimum-viable-architecture.md): An approach in which a system starts with only the structure its current quality attributes require, and defers the rest until a force demands it.
- [First-Principles Design](https://banes-lab.com/records/architecture/first-principles-design.md): An approach in which a design is derived from the problem's forces and invariants before any known pattern is chosen.
- [Metadata-Driven Design](https://banes-lab.com/records/architecture/metadata-driven-design.md): An approach in which behavior such as forms, routes or plugins is generated from validated metadata instead of written case by case.
- [Language-Oriented Programming](https://banes-lab.com/records/architecture/language-oriented-programming.md): An approach in which each problem domain gets its own language, with a type checker and an evaluator, and solutions are written in it.
- [Model-Driven Architecture](https://banes-lab.com/records/architecture/model-driven-architecture.md): An approach in which a formal model is the source of truth and the implementation is generated from it by transformation rules.
- [Lazy Evaluation](https://banes-lab.com/records/architecture/lazy-evaluation.md): An approach in which a value is computed only when something consumes it.
- [Batch-vs-Stream](https://banes-lab.com/records/architecture/batch-vs-stream.md): An approach in which the processing model, periodic batch or continuous stream, is chosen by how fresh the data must be.
