11 مستودعات
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 هي قاعدة معرفية تقنية ودليل دراسي هندسي يركز على داخليات إطار عمل Android، وبنية النظام، وتحسين أداء الهاتف المحمول. تعمل كمرجع لتحليل تسلسل تمهيد Android، وتمهيد العملية، وتهيئة خدمة النظام. يوفر المشروع أدلة مفصلة حول أداء الهاتف المحمول، بما في ذلك استراتيجيات تقليل آثار الذاكرة، وتحديد تسريبات الذاكرة، وتحسين فك تشفير الصور. كما يغطي التواصل بين العمليات في Android باستخدام AIDL ومحرك نواة Binder، بالإضافة إلى أدلة هندسة البرمجيات لفصل منطق الأعمال عن واجهات المستخدم من خلال أنماط مثل MVVM و MVP. بعيداً عن تطوير الهاتف المحمول، يتضمن المستودع قاعدة معرفية لعلوم الحاسوب للتحضير للمقابلات التقنية، تغطي هياكل البيانات، والخوارزميات، ومفاهيم نظام التشغيل. كما يتميز بمرجع عملي للتحكم في الإصدار Git، يوضح بالتفصيل إدارة المستودع، والمزامنة، وسير عمل التفرع.
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 هو نظام اتصال قائم على الأحداث مصمم كحافلة أحداث لتطبيقات Android. يوفر آلية لفصل مكونات التطبيق عن طريق توجيه الأحداث بينها دون الحاجة إلى تبعيات مباشرة. النظام مدرك للحالة، مما يعني أنه يمكنه توفير أحدث قيمة معروفة للمشتركين الجدد فور التسجيل. يعمل كموزع أحداث متزامن، مما يضمن استجابة جميع المستمعين المسجلين لكائن ما قبل استمرار التنفيذ. تتضمن المكتبة إمكانيات لإدارة اشتراك الأحداث وفرض تنفيذ الخيوط لتقييد عمليات الاستدعاء بخيوط محددة. ويستخدم تعيين المشترك القائم على النوع لتنظيم المستمعين وفقاً لفئة الأحداث التي يتلقونها.
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.
This project provides a standardized architectural framework for building scalable, full-stack enterprise applications. It serves as a foundational boilerplate that enforces clean architecture principles, ensuring that business logic remains isolated from infrastructure concerns and external data persistence details. By organizing code into feature-based modules rather than technical roles, the framework simplifies navigation and maintenance within large, complex codebases. The architecture distinguishes itself through a mediator-based communication model that decouples application layers and
Reduces dependency complexity by using mediator patterns to manage communication between application layers.