# Pattern Selection

> Select creational, structural, or behavioral patterns based on the problem force: creation variation, interface mismatch, access control, behavior variation, notification, workflow reuse, or coordination complexity.

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

Listed in [Algorithm contracts](https://banes-lab.com/api/records/algorithms.md), after [Runtime Extensibility](https://banes-lab.com/records/algorithms/runtime-extensibility.md) and before [Event and Messaging Consistency](https://banes-lab.com/records/algorithms/event-and-messaging-consistency.md).

## Domain

- [Architecture relationships](https://banes-lab.com/records/algorithms-domain/arch-relationships.md)

## Tier

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

## Math type

- [Optimization](https://banes-lab.com/records/reasoning/math-type-optimization.md)

## Force

- [Contract compatibility](https://banes-lab.com/records/force/contract-compatibility.md)
- [Control coordination](https://banes-lab.com/records/force/control-coordination.md)

## Linked from

- [The mathematics](https://banes-lab.com/ontology/reasoning/the-mathematics.md)
- [Domain tiers](https://banes-lab.com/ontology/schema/the-vocabulary-domain-tier.md)
- [The forces](https://banes-lab.com/ontology/schema/the-forces.md)
