# Template Method Lifecycle

> Define public lifecycle methods that enforce guard checks, call shared setup or cleanup, invoke subclass hooks, and centralize error handling.

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

Listed in [Algorithm contracts](https://banes-lab.com/api/records/algorithms.md), after [Concrete-vs-Abstract Responsibility Split](https://banes-lab.com/records/algorithms/concrete-vs-abstract-responsibility-split.md) and before [Base Schematic Composition](https://banes-lab.com/records/algorithms/base-schematic-composition.md).

## Domain

- [Pattern distillation](https://banes-lab.com/records/algorithms-domain/pattern-distillation.md)

## Stage

- [project](https://banes-lab.com/records/stage/project.md)

## Axis

- [reasoning](https://banes-lab.com/records/reasoning/axis-reasoning.md)

## Tier

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

## Math type

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

## Force

- [Contract compatibility](https://banes-lab.com/records/force/contract-compatibility.md)
- [Semantic consistency](https://banes-lab.com/records/force/semantic-consistency.md)

## Linked from

- [The derivation loop](https://banes-lab.com/ontology/reasoning/reasoning-loop-derivation-loop.md)
- [The axes](https://banes-lab.com/ontology/reasoning/the-axes.md)
- [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)
