aid: dependency-injection name: Dependency Injection description: >- A design pattern in which objects receive their dependencies from external sources rather than creating them internally, promoting loose coupling, easier testing, and clear composition roots. Effective use of this practice reduces bugs in production and supports a culture of quality-driven development. type: Index image: https://kinlane-productions.s3.amazonaws.com/apis-json/apis-json-logo.jpg tags: - Design Patterns - Inversion of Control - Software Architecture - Testing - Composition Root url: >- https://raw.githubusercontent.com/api-evangelist/dependency-injection/refs/heads/main/apis.yml created: '2025-01-01' modified: '2026-04-28' specificationVersion: '0.19' apis: - aid: dependency-injection:pattern name: Dependency Injection Pattern description: >- Rules, capabilities, vocabulary, and linked-data description for the Dependency Injection design pattern. tags: - Pattern - Architecture properties: - type: Rules url: >- https://raw.githubusercontent.com/api-evangelist/dependency-injection/main/rules/dependency-injection-rules.yml - type: Capabilities url: >- https://raw.githubusercontent.com/api-evangelist/dependency-injection/main/capabilities/dependency-injection-capabilities.md - type: Vocabulary url: >- https://raw.githubusercontent.com/api-evangelist/dependency-injection/main/vocabulary/dependency-injection-vocabulary.json - type: JSON-LD url: >- https://raw.githubusercontent.com/api-evangelist/dependency-injection/main/json-ld/dependency-injection.jsonld common: - type: Reference url: https://en.wikipedia.org/wiki/Dependency_injection - type: Reference url: https://martinfowler.com/articles/injection.html - type: GitHub Organization url: https://github.com/api-evangelist maintainers: - FN: Kin Lane email: kin@apievangelist.com