12 repository-uri
Programs to interfaces rather than concrete classes so different implementations can be swapped in without changing dependent code.
Distinct from Package Dependency Decoupling: Distinct from Package Dependency Decoupling: focuses on programming to interfaces at the code level, not on package-level container placeholders.
Explore 12 awesome GitHub repositories matching devops & infrastructure · Interface-Based 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.
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 este un framework de dezvoltare backend și un blueprint de servicii pentru construirea de aplicații server și microservicii consistente în Go. Oferă o colecție de biblioteci partajate și tipare pentru a standardiza procesul de dezvoltare în mai multe proiecte. Proiectul include o bibliotecă de injecție a dependențelor care decuplează logica de business de implementări prin contracte de servicii bazate pe interfețe. De asemenea, oferă o suită de instrumente pentru compilarea și implementarea aplicațiilor Go ca binare statice auto-conținute pe Linux. Framework-ul acoperă instrumente pentru aplicații enterprise, inclusiv primitive partajate pentru logare, configurare și gestionarea erorilor. Suportă, de asemenea, arhitectura de microservicii și orchestrarea serviciilor Linux pentru a asigura un comportament consistent între serviciile interconectate.
Decouples high-level business logic from low-level implementations by programming to Go interfaces.
This project provides a set of structural templates and frameworks for bootstrapping production servers, high-performance backends, Kubernetes microservices, and AI pipelines using the Go programming language. It serves as a foundational architecture for building high-throughput infrastructure and scalable production servers with integrated routing and middleware. The framework includes a specialized infrastructure for developing retrieval-augmented generation systems, emphasizing local model inference and secure data sovereignty. It further provides a dedicated microservice template for cont
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.
This project is a PHP interface library that provides a component interoperability layer. It consists of a set of framework-agnostic contracts and standardized definitions that enable different libraries to work together via a consistent contract. The library focuses on providing minimal shared interfaces and API definitions, allowing software components to be used across different PHP projects regardless of the underlying framework. This approach decouples application logic from concrete framework implementations. The project specifically covers service container abstraction and dependency
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 interface-based dependency injection to isolate components and enable independent swapping of system parts.