19 Repos
Structural frameworks that enforce separation of concerns through component isolation, plugin systems, or directory-level decoupling.
Explore 19 awesome GitHub repositories matching software engineering & architecture · Modular Design Patterns. Refine with filters or upvote what's useful.
Chart.js is a declarative data visualization framework that renders interactive, responsive charts directly onto an HTML5 canvas element. It functions as a configuration-driven engine, transforming structured datasets into complex graphical representations by merging user-defined settings with global defaults. The library utilizes a high-performance rendering pipeline that executes drawing commands during each animation frame to maintain smooth visual feedback. The project distinguishes itself through a modular, extensible architecture that allows developers to register custom scales, control
Supports a modular architecture that allows developers to register custom scales, controllers, and plugins to extend core functionality.
This project provides a standardized directory layout pattern that establishes a predictable structure for organizing source code, configuration files, and documentation. It serves as a community-driven framework designed to improve project maintainability, simplify developer onboarding, and ensure consistency across large-scale software development efforts. By enforcing uniform file layouts, the project reduces cognitive load for developers working across multiple services or microservices. It utilizes convention-based folder templates to ensure that application logic, infrastructure, and co
Distinct top-level directories separate application logic from infrastructure, facilitating cleaner component decoupling.
FizzBuzzEnterpriseEdition is an enterprise-grade software architecture framework designed to demonstrate the application of complex design patterns to fundamental logic flows. It utilizes a modular component architecture to decouple business logic from infrastructure concerns, employing dependency injection containers to manage object lifecycles and enforce strict interface-based contracts between system units. The project distinguishes itself by applying rigorous enterprise software design principles to the generation of FizzBuzz sequences. By externalizing component wiring and application b
Organizes functionality into discrete, extensible units interacting through defined interfaces.
Presto is a distributed SQL query engine designed for high-performance analytical processing across heterogeneous data sources. It functions as a data federation platform and massively parallel processing engine, allowing users to execute interactive queries against diverse storage systems without requiring data migration. By mapping remote metadata and structures to a unified relational namespace, it enables seamless cross-platform analysis through a standard SQL interface. The engine distinguishes itself through a pluggable connector architecture and a shared-nothing distributed processing
Integrates custom components such as external data providers or sidecar services to augment core capabilities through a modular plugin architecture.
This repository serves as a technical reference and educational resource for implementing software design patterns within the Swift programming language. It provides a collection of common architectural patterns designed to help developers structure codebases for improved maintainability, scalability, and system organization. The project focuses on applying fundamental object-oriented and protocol-oriented principles to manage relationships between classes and objects. It demonstrates how to use language-level interfaces to define shared behaviors and how to organize components into cohesive
Organizes code into interchangeable strategies to swap algorithms at runtime by delegating tasks to separate objects.
This project is a comprehensive repository and curated index of resources, research papers, and development frameworks designed to support the construction and deployment of intelligent systems. It serves as a centralized knowledge base for developers seeking to navigate the technical landscape of artificial intelligence, ranging from foundational educational materials to specialized implementation guides. The repository distinguishes itself by providing structured directories for comparing generative artificial intelligence providers, including aggregated performance metrics, pricing data, a
Utilizes modular design patterns to connect disparate third-party libraries for interoperable workflows.
RT-Thread is an IoT real-time operating system and embedded device kernel. It provides a lightweight execution environment for microcontrollers, combining a real-time kernel with a hardware abstraction layer to manage multi-threaded task scheduling and hardware resource allocation. The project is built as a modular framework that utilizes a package-based ecosystem. This allows for the integration of reusable software libraries and high-level services through a loosely coupled architecture. The system covers real-time task scheduling, resource-constrained memory management, and embedded hardw
Implements an extensible architecture that allows high-level system services to be integrated as modular components.
xformers is a collection of specialized toolsets for fused GPU operators, sparse attention mechanisms, modular transformer components, and performance benchmarking. It provides a library of optimized and interoperable building blocks used to construct and experiment with transformer architectures. The project features a fused CUDA operator library that combines common layers into single GPU operations to increase throughput. It includes a sparse attention framework and memory-efficient attention kernels that utilize tiling strategies and structured sparsity patterns to reduce computational ov
Provides an interface for adding custom Transformer blocks that integrate with existing optimized components.
MMSegmentation is an open-source semantic segmentation toolbox built on PyTorch that provides a modular, configurable framework for building, training, evaluating, and deploying segmentation models. At its core, it offers a config-driven pipeline that assembles training, evaluation, and inference workflows by parsing hierarchical configuration files, with a modular component registry that enables plug-and-play composition of neural network modules, optimizers, datasets, and metrics. The framework supports the full model lifecycle through a unified runner interface that controls training, testi
Replaces or extends individual modules such as backbones, heads, or losses to create a tailored architecture.
AndroidNote is a technical knowledge base and reference resource for Android development. It provides comprehensive guidance on application architecture, custom view development, and advanced graphics programming. The project is distinguished by its depth in visual implementation, covering pseudo-3D perspective projections via virtual cameras and complex 2D rendering using Bézier curves and PorterDuff color blending. It also provides detailed methodologies for app modularization and the management of internal libraries through private Maven repositories and JitPack. The reference surface ext
Organizes Android projects into independent components to improve build scalability and team boundaries.
Flecs is a high-performance entity component system framework and data-oriented programming library. It serves as a simulation engine core and game engine architecture tool, decoupling state from behavior by separating entities, components, and systems. The framework features a runtime reflection layer for dynamic data inspection and a built-in scripting system for defining entity behavior without recompilation. It also includes a network interface and REST API for remote simulation administration and state querying. The library covers a broad surface of simulation capabilities, including ar
Implements an extensible component architecture that decouples state from behavior using the ECS pattern.
Clack is a Node.js CLI framework and prompt library designed for building stylized, interactive command-line user interfaces. It provides a toolkit for creating terminal applications that collect structured user input and display formatted information. The library includes a set of interactive terminal UI components, such as validated input fields for text and passwords, searchable selection menus with autocomplete, and grouped options for user choice. It also provides mechanisms for process visualization, including loading spinners, progress bars, and sequential task lists to communicate bac
Decouples visual prompt and spinner presentation from the underlying input collection and validation logic.
RecBole ist ein PyTorch-basiertes Empfehlungs-Framework, das für das Erstellen, Trainieren und Evaluieren einer Vielzahl von Empfehlungsalgorithmen entwickelt wurde. Es dient als standardisierte Benchmark-Umgebung, die den Vergleich verschiedener Modellarchitekturen unter Verwendung öffentlicher Datensätze und konsistenter Evaluierungsmetriken ermöglicht. Das Projekt bietet spezialisierte Toolkits für sequenzielle Empfehlungen und Knowledge-Graph-Integration, was die Vorhersage von Item-Sequenzen basierend auf der Nutzerhistorie oder die Einbindung von strukturiertem externem Wissen ermöglicht. Es enthält eine dedizierte Hyperparameter-Optimierungs-Engine, die Grid-Search und Bayesian-Optimierung nutzt, um Modellkonfigurationen abzustimmen. Das Framework deckt ein breites Spektrum an Funktionen ab, einschließlich Datenmanagement zur Standardisierung von Interaktionslogs, Trainings-Pipelines mit verteilter Gradienten-Synchronisierung und Mixed-Precision-Ausführung sowie umfassende Evaluierungstools für Kandidaten-Ranking und Diversitätsanalyse. Es unterstützt mehrere Empfehlungstypen, wie allgemeines Collaborative Filtering und Click-Through-Rate-Vorhersage. Die Bibliothek ist in Python implementiert und nutzt PyTorch als zugrunde liegendes Empfehlungs-Framework.
Enables modifying trainers, data loaders, and samplers to adapt the pipeline to specific research requirements.
Pyramid ist ein Python-Webframework und WSGI-Toolkit für die Entwicklung von Webanwendungen. Es fungiert als URL-Routing-Engine, die eingehende HTTP-Anfragen mithilfe von musterbasiertem Routing und hierarchischer Ressourcenbaum-Traversierung auf spezifische View-Callables abbildet. Das Framework zeichnet sich durch sein hybrides Dispatch-System aus, das es Entwicklern ermöglicht, reguläre Ausdrucks-URL-Abgleiche mit der Fähigkeit zu kombinieren, Anfragen durch die Navigation in einem Baum verschachtelter Objekte aufzulösen. Es implementiert eine flexible Komponentenarchitektur, die die Verwaltung von Anwendungsregistries, verzögerte Konfigurationsausführung sowie das Überschreiben von Views oder Routen ohne Änderung des ursprünglichen Quellcodes unterstützt. Der Funktionsumfang umfasst Identitätsmanagement mittels signierter Cookies und ACL-basierter Autorisierung, ein ereignisgesteuertes Koordinationssystem für den Request-Lebenszyklus sowie Internationalisierungsdienste für die UI-Übersetzung. Zudem bietet es Tools für das Content-Rendering durch benutzerdefinierte Serializer und Template-Integration sowie eine Middleware-Tween-Pipeline zur Injektion übergreifender Logik. Das Toolkit enthält eine administrative Befehlszeilenschnittstelle für die Routeninspektion, Projekt-Scaffolding und Anwendungs-Debugging.
Uses component patterns to manage application registries and provide flexible utility lookups.
cal-heatmap is a JavaScript visualization library used to render time-series data as a grid of colored cells. It functions as a customizable calendar component that maps data density and frequency over temporal intervals ranging from minutes to years. The library provides built-in support for localized temporal displays, allowing for the adjustment of regional date formats, timezones, and locale-specific week starts. It utilizes a plugin system for both the calendar layout and heatmap charts to extend behaviors and visual styles. The system manages data visualization through SVG-based grid r
Separates calendar logic from chart visualization to allow independent configuration of styles and scales.
mini-swe-agent is an autonomous software engineering system designed to develop features and fix bugs by combining large language models with a bash interface. It operates as an agentic framework that executes coding tasks and documentation updates through a continuous cycle of model reasoning and tool execution. The project differentiates itself with a strong focus on safety and evaluation, utilizing container-based sandbox execution via Docker or Singularity to isolate command execution. It includes a batch-parallel evaluation harness to measure code-fixing accuracy against standardized sof
Allows custom agents, models, and environments to be integrated via configuration paths without strict class inheritance.
This project provides a comprehensive style guide and architectural framework for building maintainable, modular, and consistent components within the Vue.js ecosystem. It establishes a set of standardized rules for organizing user interface elements into self-contained units, ensuring that logic and styles remain isolated to prevent unintended side effects. The guide distinguishes itself by focusing on strict encapsulation and clear interface design. It promotes the use of namespace-based style scoping to prevent visual leakage and enforces predictable component inputs through descriptive na
Structures applications into small and self-contained units that perform single, well-defined tasks to improve maintainability.
Flutter-html is a markup rendering engine and UI component library that parses static HTML strings and CSS styles into native user interface widgets for cross-platform mobile and desktop applications. Its core architecture manages media controllers, style cascade engines, markup-to-widget translation, and native platform view embedding through modular extension packages. The library supports content styling using cascading style sheet rules, custom element rendering, data tables, mathematical equation rendering, vector graphics, and embedded frames or web browser components. It includes mult
Delegates specialized media types and complex markup tags to decoupled packages that plug into the core rendering pipeline.
Track-extension is a browser extension for Chrome and Firefox that records work hours and manages active timers directly from the browser toolbar and centralized popup menus. It functions as a productivity utility by embedding interactive time measurement controls into third-party websites and project management tools, preventing context switching while tracking task duration. The extension injects timer buttons into external web applications by matching page URLs against registered rule sets and manipulating the host document structure at runtime. It configures these embedded timers with des
Renders centralized control menus using lightweight UI components bundled within the extension package.