11 dépôts
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 est un framework web full-stack pour Go qui fonctionne comme un moteur d'échafaudage et un outil de génération de code. Il automatise la création de structures de répertoire, de contrôleurs et de code de liaison pour rationaliser le développement d'applications web. Le framework utilise une approche basée sur un transpileur pour produire du boilerplate d'application et fournit un environnement de développement incluant le rechargement à chaud et la gestion de serveur local. Il permet la compilation d'applications en binaires uniques et autonomes avec prise en charge de la compilation croisée sur différents systèmes d'exploitation et architectures. Le système inclut un moteur de routage HTTP avec routage URI insensible à la casse et injection de dépendances à portée de requête. Il prend également en charge le rendu côté serveur du contenu et l'intégration avec des frameworks 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.
Ce projet fournit un modèle structurel pour organiser les applications React et TypeScript en découplant la logique métier des composants d'interface utilisateur et de l'infrastructure externe. Il implémente une architecture en couches qui isole les règles de domaine principales, garantissant que l'application reste indépendante des frameworks, bibliothèques ou implémentations de services externes spécifiques. L'architecture repose sur des principes d'injection de dépendances et d'inversion pour gérer les implémentations de services, permettant la modularité et des tests plus faciles. En utilisant un noyau fonctionnel et un shell impératif, le système sépare les effets secondaires de la logique métier pure, tandis que les contrats de type partagés et la sécurité de type stricte garantissent des structures de données cohérentes dans tous les modules de l'application. L'approche facilite la création de cas d'utilisation et d'entités de domaine agnostiques au framework qui peuvent être testés et maintenus de manière isolée. En définissant des interfaces abstraites pour les services externes et en implémentant des couches de traduction de données, le projet garantit que le code spécifique à l'infrastructure ne fuit pas dans la logique métier principale.
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.
Ce projet sert d'implémentation de référence pour appliquer les principes de l'architecture propre (Clean Architecture) dans un environnement C#. Il démontre comment structurer des applications d'entreprise en organisant le code en couches concentriques et indépendantes qui isolent la logique métier principale de l'infrastructure externe, des frameworks et des préoccupations liées aux bases de données. La base de code illustre l'application du Domain-Driven Design pour centrer la logique logicielle autour des entités et règles métier. Elle utilise le découplage basé sur les interfaces et l'inversion de dépendance pour garantir que les politiques de haut niveau restent ignorantes des détails d'implémentation de bas niveau, facilitant la maintenabilité et la testabilité à long terme. Pour gérer l'accès aux données, le projet emploie le pattern Repository pour abstraire les technologies de stockage. Cette approche découple la couche domaine des mécanismes de persistance spécifiques, permettant le remplacement des fournisseurs de données sans nécessiter de modifications de la logique applicative principale. L'injection de dépendances est utilisée partout pour gérer les cycles de vie des objets et le câblage des composants.
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.