Plugin / Extensibility / IoC
Kind: category
Record: architecture-category:plugin-extensibility-ioc
Canonical: Ontology
The Plugin / Extensibility / IoC category holds 8 architecture principles.
Listed in Principle categories, after Streaming / Pipeline / Dataflow Processing and before Self-Healing / Recovery / Deployment Safety.
Principle
- Plugin Architecture
- Extension Points
- Inversion of Control (IoC)
- Dependency Injection
- Service Registry
- Registry Pattern
- Service Locator Pattern
- Feature Toggle
Layer
Linked from
Plugin / Extensibility / IoC
Every principle in this category is listed as a record. Each record carries its kind, its severity, the scopes it applies at and the layer it lives in, then the edge relations that join it to other records, the records that point back at it, the contracts that answer to it and the tensions it takes part in. The descriptors say how it is violated, detected, measured, repaired and enforced. Where the record carries one, an exemplar shows the shape before and after the principle is applied.
Relations diagram
flowchart LR
n_plugin_architecture["Plugin Architecture"]
n_extension_points["Extension Points"]
n_inversion_of_control["Inversion of Control (IoC)"]
n_dependency_injection["Dependency Injection"]
n_service_registry["Service Registry"]
n_registry_pattern["Registry Pattern"]
n_service_locator_pattern["Service Locator Pattern"]
n_feature_toggle["Feature Toggle"]
n_plugin_architecture --> n_extension_points
n_extension_points --> n_plugin_architecture
n_inversion_of_control --> n_dependency_injectionPlugin Architecture
- Kind: style
- Category: Plugin / Extensibility / IoC
- Severity: contextual
- Scope: component, runtime, system
- Layer: Extensibility Core
Extension Points
- Kind: mechanism
- Category: Plugin / Extensibility / IoC
- Severity: recommended
- Scope: framework, plugin, module
- Layer: Extensibility Core
Inversion of Control (IoC)
- Kind: principle
- Category: Plugin / Extensibility / IoC
- Severity: recommended
- Scope: framework, runtime, component
- Layer: Extensibility Core
Dependency Injection
- Kind: pattern
- Category: Plugin / Extensibility / IoC
- Severity: recommended
- Scope: class, module, component
- Aliases: DI
- Layer: Extensibility Core
Service Registry
- Kind: mechanism
- Category: Plugin / Extensibility / IoC
- Severity: contextual
- Scope: runtime, service, plugin
- Layer: Extensibility Core
Registry Pattern
- Kind: pattern
- Category: Plugin / Extensibility / IoC
- Severity: contextual
- Scope: runtime, module, plugin
- Layer: Extensibility Core
Service Locator Pattern
- Kind: pattern
- Category: Plugin / Extensibility / IoC
- Severity: discouraged
- Scope: runtime, dependency access
- Layer: Extensibility Core
Feature Toggle
- Kind: mechanism
- Category: Plugin / Extensibility / IoC
- Severity: contextual
- Scope: application, release, runtime
- Aliases: Feature Flag
- Layer: Extensibility Core