# Separation of Concerns

> The principle of separating a system into distinct concerns so each is addressed and changed independently.

Record: `algorithms:separation-of-concerns`
Kind: algorithm
Canonical: https://banes-lab.com/ontology/algorithms#algorithms-separation-of-concerns
Closure: https://banes-lab.com/json/records/algorithms/separation-of-concerns/closure

Listed in [Algorithm contracts](https://banes-lab.com/api/records/algorithms.md), after [State Pattern](https://banes-lab.com/records/algorithms/state-pattern.md) and before [Concurrency Correctness](https://banes-lab.com/records/algorithms/concurrency-correctness.md).

## Domain

- [Architectural Clusters](https://banes-lab.com/records/algorithms-domain/architectural-clusters.md)

## Tier

- [exempt](https://banes-lab.com/records/vocabulary/domain-tier-exempt.md)

## Composed by

- [Statecharts](https://banes-lab.com/records/algorithms/statecharts.md)

## Linked from

- [Architecture](https://banes-lab.com/ontology/algorithms/algorithms-domain-architecture.md)
- [Domain tiers](https://banes-lab.com/ontology/schema/the-vocabulary-domain-tier.md)
