11 repositorios
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 es un framework web full-stack para Go que funciona como un motor de andamiaje y herramienta de generación de código. Automatiza la creación de estructuras de directorios, controladores y código de unión para agilizar el desarrollo de aplicaciones web. El framework utiliza un enfoque basado en transpilador para producir código repetitivo (boilerplate) de la aplicación y proporciona un entorno de desarrollo que incluye recarga en caliente y gestión de servidor local. Permite la compilación de aplicaciones en binarios únicos e independientes con soporte para compilación cruzada a través de diferentes sistemas operativos y arquitecturas. El sistema incluye un motor de enrutamiento HTTP con enrutamiento de URI insensible a mayúsculas y minúsculas e inyección de dependencias con alcance de solicitud. También admite el renderizado de contenido en el lado del servidor y la integración con frameworks de frontend.
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.
Este proyecto proporciona un patrón estructural para organizar aplicaciones de React y TypeScript desacoplando la lógica de negocio de los componentes de la interfaz de usuario y la infraestructura externa. Implementa una arquitectura en capas que aísla las reglas de dominio centrales, asegurando que la aplicación permanezca independiente de frameworks, librerías o implementaciones de servicios externos específicos. La arquitectura se basa en principios de inyección de dependencias e inversión para gestionar las implementaciones de servicios, permitiendo la modularidad y pruebas más fáciles. Al utilizar un núcleo funcional y un shell imperativo, el sistema separa los efectos secundarios de la lógica de negocio pura, mientras que los contratos de tipo compartidos y la seguridad de tipos estricta aseguran estructuras de datos consistentes en todos los módulos de la aplicación. El enfoque facilita la creación de casos de uso y entidades de dominio agnósticas al framework que pueden probarse y mantenerse de forma aislada. Al definir interfaces abstractas para servicios externos e implementar capas de traducción de datos, el proyecto asegura que el código específico de la infraestructura no se filtre en la lógica de negocio primaria.
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.
Este proyecto sirve como implementación de referencia para aplicar principios de arquitectura limpia (clean architecture) dentro de un entorno C#. Demuestra cómo estructurar aplicaciones empresariales organizando el código en capas concéntricas e independientes que aíslan la lógica de negocio central de la infraestructura externa, los frameworks y las preocupaciones de la base de datos. El código ilustra la aplicación del diseño guiado por el dominio (DDD) para centrar la lógica del software en torno a las entidades y reglas de negocio. Utiliza el desacoplamiento basado en interfaces y la inversión de dependencias para asegurar que las políticas de alto nivel permanezcan ajenas a los detalles de implementación de bajo nivel, facilitando la mantenibilidad y la capacidad de prueba a largo plazo. Para gestionar el acceso a los datos, el proyecto emplea el patrón repositorio para abstraer las tecnologías de almacenamiento. Este enfoque desacopla la capa de dominio de mecanismos de persistencia específicos, permitiendo el reemplazo de proveedores de datos sin requerir modificaciones en la lógica central de la aplicación. La inyección de dependencias se utiliza en todo el proyecto para gestionar los ciclos de vida de los objetos y el cableado de los componentes.
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.