11 repository-uri
Architectural strategies for separating modules using strict interface boundaries.
Distinguishing note: Focuses on trait-based decoupling, distinct from general dependency injection.
Explore 11 awesome GitHub repositories matching software engineering & architecture · Component Decoupling Patterns. Refine with filters or upvote what's useful.
Servo is a high-performance, memory-safe web rendering engine designed for cross-platform embedding. It provides a modular framework that allows developers to integrate web content rendering into native applications across desktop, mobile, and embedded systems. By enforcing strict process isolation and memory safety, the engine creates a secure execution environment for processing web content. The engine distinguishes itself through a task-based, parallelized architecture that decouples layout, style, and rendering processes to maximize responsiveness. It utilizes a hardware-abstracted graphi
Defines strict boundaries between style, layout, and content modules to maintain architectural separation.
This project serves as a technical reference and guide for implementing idiomatic software design patterns within the Go programming language. It provides a curated collection of architectural blueprints and coding strategies designed to help developers organize complex codebases into maintainable, modular components. The repository covers a broad spectrum of software engineering practices, including creational, structural, and behavioral design patterns. It emphasizes the use of language-specific idioms to manage object instantiation, decouple component interactions, and extend functionality
Separates business logic from implementations using strict interface boundaries to ensure modularity.
ARouter is a framework for Android applications designed to decompose monolithic apps into smaller, independent modules. It provides a URL-based routing system that enables navigation between decoupled components and modules without requiring direct class dependencies. The framework includes a navigation interceptor to handle authentication, redirection, and custom activity animations during page transitions. It also features a service injector that manages dependencies across modules using an inversion of control pattern and interface-based injection. The toolset covers inter-module navigat
Employs an inversion of control pattern to manage shared components across separate Android modules.
LearningNotes este o bază de cunoștințe tehnice și un ghid de studiu de inginerie axat pe internele framework-ului Android, arhitectura sistemului și optimizarea performanței mobile. Servește drept referință pentru analizarea secvenței de boot Android, bootstrapping-ul proceselor și inițializarea serviciilor de sistem. Proiectul oferă ghiduri detaliate despre performanța mobilă, inclusiv strategii pentru reducerea amprentei de memorie, identificarea scurgerilor de memorie și optimizarea decodării imaginilor. Acoperă, de asemenea, comunicarea inter-proces Android folosind AIDL și driverul de kernel Binder, precum și manuale de arhitectură software pentru decuplarea logicii de business de interfețele utilizator prin tipare precum MVVM și MVP. Dincolo de dezvoltarea mobilă, repository-ul include o bază de cunoștințe de informatică pentru pregătirea interviurilor tehnice, acoperind structuri de date, algoritmi și concepte de sistem de operare. De asemenea, dispune de o referință practică pentru controlul versiunilor Git, detaliind gestionarea repository-ului, sincronizarea și fluxurile de lucru de branching.
Implements publish-subscribe patterns to decouple communication and remove direct dependencies between software components.
The AWS Cloud Development Kit is an infrastructure-as-code framework that enables developers to define and provision cloud resources using familiar programming languages. By utilizing construct-based synthesis, it translates high-level, object-oriented code into declarative templates, allowing for the automated management of complex cloud environments through a centralized, code-driven control plane. The framework distinguishes itself through its ability to model infrastructure as a dependency-aware resource graph, ensuring that components are provisioned and updated in the correct order. It
Integrates independent systems using hosted queues to buffer messages and ensure reliable communication.
CodeIgniter is a PHP web framework built on the Model-View-Controller pattern, designed for building full-stack web applications. It provides a lightweight toolkit with minimal configuration, organizing application logic into controllers, models, and views for clean separation of concerns. The framework includes a fluent query builder for constructing SQL statements programmatically, PSR-4 autoloading with namespace mapping, and a service-based dependency injection container for managing shared class instances. The framework distinguishes itself through its comprehensive set of built-in tools
CodeIgniter keeps each part of the system independent so they can be reused, replaced, or tested without affecting others.
Otto este un sistem de comunicare bazat pe evenimente, conceput ca un bus de evenimente pentru aplicațiile Android. Oferă un mecanism pentru a decupla componentele aplicației prin rutarea evenimentelor între ele fără a necesita dependențe directe. Sistemul este conștient de stare, ceea ce înseamnă că poate oferi cea mai recentă valoare cunoscută noilor abonați imediat după înregistrare. Acesta funcționează ca un dispatcher de evenimente sincron, asigurându-se că toți ascultătorii înregistrați răspund la un obiect înainte ca execuția să continue. Biblioteca include capabilități pentru gestionarea abonamentelor la evenimente și impunerea execuției pe thread-uri pentru a restricționa callback-urile la anumite thread-uri. Utilizează maparea abonaților bazată pe tip pentru a organiza ascultătorii în funcție de clasa evenimentelor pe care le primesc.
Implements decoupling patterns to facilitate communication between application components without direct dependencies.
Ballerina is a cloud-native programming language and distributed services framework designed for building and integrating networked services. It provides a network-aware runtime that manages non-blocking input and output operations to support scalable distributed systems. The platform features a visual programming environment that maintains bidirectional synchronization between source code and graphical sequence diagrams. It utilizes a structural type system to decouple independent software components and includes a cloud infrastructure generator that produces Docker and Kubernetes deployment
Implements a structural type system to reduce dependencies and eliminate manual data mapping between distributed services.
Erigon is an Ethereum execution client and blockchain archive node designed to maintain full or archive copies of the blockchain. It functions as a Proof-of-Stake validator, an Ethereum RPC server, and a network validator operation tool, providing the core infrastructure to validate blocks and secure the chain. The project distinguishes itself through high-performance storage and data distribution, utilizing a flat key-value state storage system instead of a Merkle Patricia Trie to increase read and write speeds. It employs BitTorrent-based data distribution for immutable historical blockchai
Runs the RPC daemon and network layer as independent services to improve scalability and security.
EventEmitter3 is a high-performance JavaScript event emitter and publish-subscribe library. It implements the observer pattern to enable decoupled communication between application components through the registration and emission of custom events. The library functions as a context-aware event dispatcher, allowing specific execution contexts to be bound to listeners. This removes the need for manual function binding during event dispatching. The project covers core event management capabilities, including listener registration and a synchronous execution loop for event delivery. It utilizes
Enables separate software modules to exchange data and trigger actions without requiring direct references.
Acest proiect oferă un framework arhitectural standardizat pentru construirea de aplicații enterprise full-stack scalabile. Servește drept boilerplate fundamental care impune principii de arhitectură curată (clean architecture), asigurând că logica de business rămâne izolată de preocupările de infrastructură și detaliile de persistență a datelor externe. Prin organizarea codului în module bazate pe funcționalități, mai degrabă decât pe roluri tehnice, framework-ul simplifică navigarea și mentenanța în codebase-uri mari și complexe. Arhitectura se distinge printr-un model de comunicare bazat pe mediatori care decuplează straturile aplicației și previne dependențele ciclice. Utilizează un pipeline centralizat pentru procesarea cererilor, care standardizează preocupările transversale precum validarea, securitatea și gestionarea erorilor în toate endpoint-urile. Această abordare asigură un comportament consistent și reduce codul redundant prin gestionarea comunicării și a fluxului logic printr-un dispatcher unificat. Framework-ul încorporează, de asemenea, strategii robuste de gestionare a datelor, utilizând aggregate roots pentru a menține integritatea tranzacțională și a impune invarianții de business. Suportă compoziția modulară prin dependency injection și oferă instrumente pentru interceptarea traficului de rețea și gestionarea accesului la rute. Proiectul include un șablon cuprinzător pentru dezvoltarea .NET și web, oferind un punct de plecare structurat care facilitează containerizarea și deployment-ul consistent în diverse medii.
Reduces dependency complexity by using mediator patterns to manage communication between application layers.