14 Repos
Techniques for using placeholders in package-level containers to keep packages agnostic of concrete implementations.
Distinct from Dependency Injection Containers: Focuses on the architectural decoupling of package dependencies using DI, not package manager installation.
Explore 14 awesome GitHub repositories matching devops & infrastructure · Package Dependency Decoupling. Refine with filters or upvote what's useful.
This project is a comprehensive educational resource and programming course covering C++ language semantics and features from C++03 through C++26. It provides structured tutorials and technical guides focused on modern C++ development. The material offers specialized instruction on template metaprogramming, including the use of type traits and compile-time computations. It features detailed guides on concurrency and parallelism for multi-core execution, as well as a reference for software design applying SOLID principles and RAII. Additionally, it covers build performance optimization to redu
Explains how to decouple interfaces from implementations using opaque pointers to accelerate compilation and hide internal logic.
Doctrine ORM is a PHP object-relational mapper that connects application objects to relational database tables. It uses the data mapper and identity map patterns to decouple the in-memory object model from the database schema, allowing developers to manage data persistence without writing manual SQL. The project features a dedicated object-oriented query language and programmatic builder for retrieving data based on entities rather than tables. It implements a unit-of-work system to track object changes during a request and synchronize them via atomic transactions. The capability surface inc
Decouples entity dependencies by mapping interfaces or abstract classes to concrete implementations during runtime.
This project is a collection of software design patterns implemented in Go, serving as a technical reference and a set of practical programming examples. It maps theoretical architectural patterns to concrete code to demonstrate structural, creational, and behavioral coding techniques. The repository provides implementations for creational patterns focused on object instantiation and blueprint management, structural patterns for organizing object compositions, and behavioral patterns that manage object interactions and responsibilities. The content covers broad capability areas including in
Demonstrates how to program to interfaces to separate high-level logic from concrete implementations.
100 Go Mistakes is a reference book and code review companion that catalogues frequent Go programming anti-patterns and provides corrected implementations for each one. It covers a wide range of common pitfalls, from range loop variable capture and interface nil handling to error wrapping and map iteration randomization, helping developers recognize and avoid these issues in their own code. The project distinguishes itself by offering a structured, example-driven approach to learning idiomatic Go. It covers core design decisions such as when to use pointer versus value receivers, how to apply
Replaces concrete dependencies with interfaces so implementations can be swapped without changing consumers.
Clean Architecture template for Golang services
Defines repository and use-case boundaries as Go interfaces so that the core domain never imports infrastructure packages directly.
This is a dependency injection framework and inversion of control container for Python. It decouples object creation from business logic by managing how services and their dependencies are assembled, delivered, and linked within an application. The framework is distinguished by its ability to perform automated component wiring, using import hooks and decorators to inject dependencies into functions and classes across different modules. It supports non-blocking flows through an asynchronous dependency resolver and manages the initialization and shutdown sequences of shared external resources a
Defines external dependencies within a package container using placeholders to maintain implementation agnosticism.
ZIO is a functional effect system for the JVM that models asynchronous and concurrent programs as pure, composable values with typed error handling and dependency injection. Its core identity is built on fiber-based concurrency, where lightweight, non-blocking fibers execute millions of concurrent tasks with structured lifecycle management, and a dual-channel error model that separates expected business failures from unexpected system defects at compile time. The system provides effect-typed dependency injection through a layer-based dependency graph, pull-based reactive stream processing with
ZIO programs to interfaces rather than concrete classes so different implementations can be swapped in without changing dependent code.
godropbox ist ein Backend-Entwicklungsframework und Service-Blueprint für den Aufbau konsistenter Serveranwendungen und Microservices in Go. Es bietet eine Sammlung gemeinsam genutzter Bibliotheken und Muster, um den Entwicklungsprozess über mehrere Projekte hinweg zu standardisieren. Das Projekt enthält eine Dependency-Injection-Bibliothek, die Geschäftslogik von Implementierungen durch interfacebasierte Service-Verträge entkoppelt. Es bietet zudem eine Suite von Tools zum Kompilieren und Deployen von Go-Anwendungen als in sich geschlossene statische Binaries auf Linux. Das Framework deckt Enterprise-Application-Tooling ab, einschließlich gemeinsamer Primitive für Logging, Konfiguration und Fehlerbehandlung. Es unterstützt zudem Microservices-Architektur und Linux-Service-Orchestration, um konsistentes Verhalten über vernetzte Services hinweg sicherzustellen.
Decouples high-level business logic from low-level implementations by programming to Go interfaces.
Dieses Projekt bietet eine Reihe struktureller Templates und Frameworks zum Bootstrapping von Produktionsservern, hochperformanten Backends, Kubernetes-Microservices und KI-Pipelines unter Verwendung der Programmiersprache Go. Es dient als grundlegende Architektur für den Aufbau von Infrastruktur mit hohem Durchsatz und skalierbaren Produktionsservern mit integriertem Routing und Middleware. Das Framework enthält eine spezialisierte Infrastruktur zur Entwicklung von Retrieval-Augmented-Generation-Systemen, wobei der Schwerpunkt auf lokaler Modell-Inferenz und sicherer Datensouveränität liegt. Es bietet zudem ein dediziertes Microservice-Template für containerisierte Deployments mit Fokus auf Ressourcenquoten und Service-Lifecycle-Management. Das Projekt deckt breite Funktionsbereiche ab, einschließlich Observability-Instrumentierung zur Überwachung der Systemgesundheit, Interface-basierter Dependency-Injection und Migrations-basierter Schemaverwaltung für relationale Daten. Es integriert zudem Channel-basierte Concurrency zur Verwaltung asynchroner Aufgaben und Ressourcenoptimierung durch CPU- und Memory-Profiling.
Decouples business logic from external infrastructure by defining interface contracts for data storage and APIs.
This is a Go library providing a framework for managing repetitive task execution and implementing exponential backoff strategies. It serves as a concurrency tool designed to prevent system overload during failures by retrying operations with increasing delays. The project implements a retry strategy framework that manages attempt limits and timeouts during unstable network or system calls. It specifically provides an implementation of the exponential backoff algorithm to handle failing operations. The library covers reliability patterns for mitigating transient failures and service outages,
Decouples the retry logic from specific wait algorithms using interfaces to allow custom delay implementations.
CTMediator is a dynamic service locator and modular architecture framework for iOS. It functions as a dependency decoupler that allows large projects to be split into smaller, independent subprojects and targets to improve organization and reduce build times. The framework enables communication between these isolated modules using a target-action pattern. It utilizes dynamic runtime lookups to dispatch requests and route actions to specific modules without requiring a manual service registration process during startup. The system manages data exchange and project decomposition through protoc
Removes direct dependencies between app modules using a target-action pattern for communication.
Dieses Projekt ist eine PHP-Interface-Library, die eine Interoperabilitätsschicht für Komponenten bereitstellt. Sie besteht aus einer Reihe framework-agnostischer Verträge und standardisierter Definitionen, die es verschiedenen Bibliotheken ermöglichen, über einen konsistenten Vertrag zusammenzuarbeiten. Die Library konzentriert sich auf die Bereitstellung minimaler gemeinsamer Schnittstellen und API-Definitionen, wodurch Softwarekomponenten über verschiedene PHP-Projekte hinweg verwendet werden können, unabhängig vom zugrunde liegenden Framework. Dieser Ansatz entkoppelt die Anwendungslogik von konkreten Framework-Implementierungen. Das Projekt deckt spezifisch die Abstraktion von Service-Containern und die Standardisierung von Dependency Injection ab. Durch die Definition gemeinsamer Schnittstellen für den Zugriff auf Service-Container stellt es die Interoperabilität zwischen verschiedenen Container-Implementierungen sicher und ermöglicht es Komponenten, Abhängigkeiten über verschiedene Umgebungen hinweg abzurufen.
Provides generic interfaces that allow services to remain compatible across different components and versions.
This project is a comprehensive Python style guide and technical reference designed to promote the creation of clean, maintainable, and idiomatic code. It provides a set of opinionated guidelines and architectural patterns focusing on functional and declarative programming to reduce complexity and improve overall code quality. The guide establishes specific standards for naming conventions, module organization, and project layout. It emphasizes reducing object coupling by favoring modules and functions over deep class hierarchies and offers technical standards for writing docstrings and marku
Recommends using built-in serializable types to decouple components from custom object dependencies.
This project serves as a comprehensive handbook and architectural guide for software engineering best practices. It provides a curated set of principles and technical guidelines focused on maintaining long-term code health, reducing complexity, and ensuring that software systems remain readable and manageable as they grow. The core philosophy centers on modularity and domain-driven design, encouraging developers to structure applications around specific business use cases rather than the constraints of external frameworks. By prioritizing interface-based contracts and dependency injection, th
Uses inversion of control and dependency injection to decouple components and facilitate testing.