11 Repos
Architectural approaches for managing object lifecycles and context resolution at runtime.
Distinguishing note: Focuses on request-scoped factory patterns for instance isolation, distinct from static dependency injection.
Explore 11 awesome GitHub repositories matching software engineering & architecture · Dependency Injection Patterns. Refine with filters or upvote what's useful.
Agno is an agent operating system designed to manage the lifecycle, tool execution, and persistent state of autonomous agents across distributed infrastructure. It provides a unified runtime environment that wraps diverse agent frameworks into a consistent, interoperable protocol, allowing developers to build and deploy complex multi-agent systems that coordinate tasks and delegate sub-processes. The platform distinguishes itself through a robust governance and orchestration layer that includes human-in-the-loop approval gates, role-based access control, and a centralized API gateway. It feat
Creates fresh, isolated agent instances for every incoming request by using dynamic factories that resolve context at runtime.
Probot is a framework for building and deploying GitHub Apps that monitor webhook events and execute automated workflows. It provides a system for receiving and validating event notifications to trigger server-side actions. The project utilizes an event-driven plugin architecture and a middleware-based request processing system to handle authentication, validation, and routing. It employs a dependency-injection pattern to provide a pre-configured API client for authenticated interactions with GitHub services. The framework includes tools for token-based identity management, signature-based p
Utilizes a dependency-injection pattern to provide event handlers with pre-configured, authenticated API clients.
Swinject is a dependency injection framework for Swift that manages object creation and wiring through a centralized container. It resolves dependencies by looking up registered service types at runtime, supporting iOS, macOS, and Linux platforms. The framework provides multiple injection patterns, including initializer injection where dependencies are passed through initializer parameters, property injection that sets resolved dependencies on stored properties after object creation, and method injection that calls methods with resolved dependencies as arguments. It handles complex dependency
Injects dependencies through initializer parameters, leveraging Swift's type system for automatic resolution.
This is a demonstration and template project that applies Clean Architecture principles to SwiftUI application development. It implements a layered architecture that separates presentation, business logic, and data access into independent layers, with unidirectional data flow managed through a single immutable app store that serves as the sole source of truth for all screens. The project distinguishes itself through its implementation of interactor-driven business logic, where all domain rules and workflows live in stateless objects that receive requests and update the central store. Dependen
Implements a dependency injection pattern using SwiftUI's environment, a key architectural feature of the project.
Bud ist ein Full-Stack-Web-Framework für Go, das als Scaffolding-Engine und Codegenerierungstool fungiert. Es automatisiert die Erstellung von Verzeichnisstrukturen, Controllern und Glue-Code, um die Entwicklung von Webanwendungen zu optimieren. Das Framework nutzt einen Transpiler-basierten Ansatz, um Anwendungs-Boilerplate zu erzeugen, und bietet eine Entwicklungsumgebung mit Hot-Reloading und lokalem Server-Management. Es ermöglicht die Kompilierung von Anwendungen in einzelne, eigenständige Binärdateien mit Unterstützung für plattformübergreifende Kompilierung über verschiedene Betriebssysteme und Architekturen hinweg. Das System beinhaltet eine HTTP-Routing-Engine mit Case-Insensitive-URI-Routing und Request-Scoped-Dependency-Injection. Es unterstützt zudem serverseitiges Rendering von Inhalten und die Integration mit Frontend-Frameworks.
Implements request-scoped factory patterns for instance isolation of dependencies.
This project is a plugin framework for extending autonomous LLM agents. It enables the integration of external scripts and third-party services into an agent's workflow without modifying the core code. The framework utilizes an event-driven hook system to execute plugin functions at predefined stages of an agent's lifecycle. It includes a sandboxed code executor to run external extensions in a secure, isolated environment. The system manages the lifecycle of external modules through a dependency injection manager and supports loading extensions from local directories or zipped archives. Conf
Implements an architectural pattern for managing service integration and configuration across agent extensions.
This project provides a structural pattern for organizing React and TypeScript applications by decoupling business logic from user interface components and external infrastructure. It implements a layered architecture that isolates core domain rules, ensuring that the application remains independent of specific frameworks, libraries, or external service implementations. The architecture relies on dependency injection and inversion principles to manage service implementations, allowing for modularity and easier testing. By utilizing a functional core and imperative shell, the system separates
Manages service implementations and external dependencies through modular interfaces to ensure portability.
This library provides a dependency management system for Swift applications that utilizes an environment-based approach to distribute services and utilities throughout a codebase. By leveraging a centralized container, it eliminates the need for manual data passing or global state, allowing services to be injected into the application hierarchy automatically. The framework distinguishes itself through a type-safe mechanism that uses key paths and property wrappers to access and override services. This architecture supports the substitution of live service implementations with controlled, pred
Injects services and utilities into the environment to avoid manual data passing or global state in view hierarchies.
This project serves as a reference implementation for applying clean architecture principles within a C# environment. It demonstrates how to structure enterprise applications by organizing code into concentric, independent layers that isolate core business logic from external infrastructure, frameworks, and database concerns. The codebase illustrates the application of domain-driven design to center software logic around business entities and rules. It utilizes interface-based decoupling and dependency inversion to ensure that high-level policies remain unaware of low-level implementation det
Demonstrates architectural approaches for managing object lifecycles and dependency resolution at runtime.
This library provides a unified, cross-platform interface for executing HTTP requests and managing network communication in Dart applications. It functions as a composable client library that automatically resolves platform-specific network implementations, ensuring consistent behavior across mobile, desktop, and web environments. The library distinguishes itself through a modular architecture that supports swappable transport layers and middleware, allowing developers to inject custom logic for logging, caching, or retries. It includes built-in support for resilient communication, such as co
Allows sharing and replacing network client instances throughout an application to manage state and facilitate testing.
This project is a full-stack web framework built on PHP that provides a structured environment for developing complete web applications. It utilizes a model-view-controller architecture to separate application data, user interface, and control logic, facilitating the management of complex application requirements. The framework distinguishes itself through a suite of integrated tools designed to unify server-side logic and client-side interfaces. It supports isomorphic code execution to maintain consistent behavior across the stack and employs server-side data hydration to populate the client
Resolves service dependencies based on the current execution context to manage shared resources across application layers.