# The lex records whose category is plugin-extensibility-ioc

This index as JSON: https://banes-lab.com/json/api/facets/lex/category/plugin-extensibility-ioc

## Entries

- [Closed Core](https://banes-lab.com/records/lex/closed-core.md): A core that cannot be extended without modifying its own source, so every addition edits the core.
- [Direct Control Ownership](https://banes-lab.com/records/lex/direct-control-ownership.md): Application code driving the overall control flow itself instead of ceding it to a framework or container.
- [Direct Reference](https://banes-lab.com/records/lex/direct-reference.md): Referring to a specific implementation directly instead of looking it up through a registry.
- [Hardcoded Branch Constant](https://banes-lab.com/records/lex/hardcoded-branch-constant.md): Controlling a feature with a hardcoded constant in the code instead of an externally-managed flag.
- [Hardcoded Extensions](https://banes-lab.com/records/lex/hardcoded-extensions.md): Wiring extensions directly into the core so adding one requires editing and rebuilding the core.
- [Hardcoded Instantiation](https://banes-lab.com/records/lex/hardcoded-instantiation.md): Creating dependencies with hardcoded constructors inside a class instead of injecting them.
- [Hardcoded Lookup](https://banes-lab.com/records/lex/hardcoded-lookup.md): Hardcoding a service's address or instance instead of resolving it through a registry.
- [Continuous Delivery](https://banes-lab.com/records/lex/continuous-delivery.md): The ability to release changes to production continuously through an automated pipeline.
- [Decoupled Deploy and Release](https://banes-lab.com/records/lex/decoupled-deploy-and-release.md): The ability to deploy code and separately decide when to activate it for users.
- [Dynamic Lookup](https://banes-lab.com/records/lex/dynamic-lookup.md): The ability to find a registered component by key at runtime.
- [Dynamic Resolution](https://banes-lab.com/records/lex/dynamic-resolution.md): The ability to resolve a service's current location or instance at runtime.
- [Framework Control Flow](https://banes-lab.com/records/lex/framework-control-flow.md): The ability to let a framework drive the overall control flow and call into application code.
- [Gradual Rollout](https://banes-lab.com/records/lex/gradual-rollout.md): The ability to enable a feature for a growing subset of users over time.
- [Late Resolution](https://banes-lab.com/records/lex/late-resolution.md): The ability to defer resolving which implementation to use until the moment it is needed.
- [Mocking](https://banes-lab.com/records/lex/mocking.md): The ability to substitute test doubles for real dependencies by injecting them.
- [Runtime Lookup](https://banes-lab.com/records/lex/runtime-lookup.md): The ability to look up a needed service by name at runtime.
- [Third-Party Extension](https://banes-lab.com/records/lex/third-party-extension.md): The ability for outside developers to extend the system through published extension points.
- [Registry](https://banes-lab.com/records/lex/registry.md): A central store that maps keys to registered components for later lookup.
- [Externalized Flag State](https://banes-lab.com/records/lex/externalized-flag-state.md): The requirement that feature-flag values live in external configuration, not hardcoded in the code.
- [Keyed Registration](https://banes-lab.com/records/lex/keyed-registration.md): The requirement that each component register under a unique key by which it can be retrieved.
- [Registration Protocol](https://banes-lab.com/records/lex/registration-protocol.md): The requirement of a defined protocol by which services register and deregister themselves.
- [API Surface Growth](https://banes-lab.com/records/lex/api-surface-growth.md): The degree to which adding extension points enlarges the public API that must be kept stable.
- [Constructor Complexity](https://banes-lab.com/records/lex/constructor-complexity.md): The degree to which injecting many dependencies through constructors makes them long and unwieldy.
- [Explicit Dependencies](https://banes-lab.com/records/lex/explicit-dependencies.md): The degree to which a component's dependencies are visible in its signature rather than acquired through hidden lookups.
- [Flag Debt](https://banes-lab.com/records/lex/flag-debt.md): The degree to which stale, unremoved feature flags accumulate and clutter the code over time.
- [Global State](https://banes-lab.com/records/lex/global-state.md): The degree to which a global registry behaves as shared global state that any code can reach.
- [Registry Availability](https://banes-lab.com/records/lex/registry-availability.md): The degree to which the whole system's operation depends on the service registry staying available.
