Registry Pattern
Kind: pattern
Layer: Extensibility Core
Record: architecture:registry-pattern
Severity: contextual
Scope: runtime, module, plugin
Canonical: Ontology
A design pattern that replaces a conditional over kinds with a keyed table that each kind registers itself into.
Listed in Architecture principles, after Service Registry and before Service Locator Pattern.
Requires
Reinforces
Enables
Conflicts with
In tension with
Tensions
Violated by
Refactored by
Severity
Category
Enforced by
- rules/eslint/closure-register-needs-consumer.eslint.rule.ts
- rules/eslint/closure-registry-consumer-naming.eslint.rule.ts
- rules/eslint/require-pool-registration.eslint.rule.ts
- rules/eslint/require-self-registration.eslint.rule.ts
Refactors
Linked from
- When rules collide
- A check matches a shape
- The filesystem is the architecture
- Definitions own what, code owns how
- The honest gaps
- Runtime Discovery / Dynamic Binding
- Event / Messaging / Asynchronous Architecture
- Model Architecture
- Creational Patterns
- Plugin / Extensibility / IoC
- Core Vocabulary
- Plugin / Extensibility / IoC
- Schema / Canonical Data / Semantics
- Severity levels
- The resolutions