24 个仓库
Architectural approaches that organize code into decoupled, independent packages.
Distinguishing note: Focuses on modularity as a design principle rather than specific component libraries.
Explore 24 awesome GitHub repositories matching software engineering & architecture · Modular Software Design. Refine with filters or upvote what's useful.
Cobalt is a cross-platform web application designed as a distributed service platform for managing media content downloading. It functions as a full-stack monorepo that integrates a backend API with a responsive frontend, providing a unified interface for users to fetch and save media files from various online platforms. The project utilizes a modular architecture where backend services, frontend interfaces, and shared logic are organized into decoupled packages within a single repository. This monorepo structure employs centralized workspace orchestration to manage dependencies and cross-pac
Organizes projects into distinct, decoupled packages that facilitate independent development and maintenance.
Validator.js is a library of pure, stateless functions designed for the validation and sanitization of string data within any JavaScript environment. It provides a modular suite of tools to verify that user-provided information conforms to specific formats, such as emails, URLs, and dates, while simultaneously cleaning untrusted input to mitigate security risks. The library distinguishes itself through a design that avoids platform-specific APIs, ensuring consistent execution across browsers, servers, and edge runtimes. By utilizing a pre-compiled regular expression engine and a pure data tra
Implements a modular, environment-agnostic architecture that functions consistently across browsers, servers, and edge runtimes.
This project is an educational platform and technical reference for learning real-time graphics programming through the development of custom shaders. It provides a comprehensive guide to the programmable graphics pipeline, offering a collection of tutorials and interactive examples that demonstrate how to manipulate coordinate spaces, manage buffer data, and implement complex rendering techniques in 3D environments. The repository distinguishes itself as a versatile toolkit for both photorealistic and non-photorealistic rendering. It includes modular implementations for stylized aesthetics s
Organizes rendering logic into reusable, decoupled shader components for flexible visual effect composition.
This repository provides a collection of verified implementations for fundamental data structures and computational algorithms. It serves as both a practical toolkit for integrating standard procedures into software applications and a reference for understanding core computer science concepts. The library covers a wide range of operations, including sorting, searching, graph traversal, and geometric analysis. Each implementation is designed to be modular and reusable, utilizing generic type parametrization to decouple logic from specific data types while maintaining type safety. The project
Organizes algorithms into independent, modular units for easy integration into larger software systems.
Bit is a component-based development platform and monorepo orchestrator used to build, manage, and share reusable software components across projects. It functions as a system for modular software architecture, providing a component registry for publishing and distributing independent software modules via remote scopes. The platform distinguishes itself through lane-based versioning, which isolates feature development into parallel tracks for comparison and merging. It utilizes a scope-based namespace registry to organize components into hierarchical groups and employs environment-driven comp
Implements a modular architecture where applications are broken into independent, reusable components.
Hyperledger Fabric is a permissioned blockchain framework and enterprise blockchain platform designed for maintaining shared, immutable records of transactions across a network of authorized participants. It provides the infrastructure to build and manage private distributed ledgers that prioritize data confidentiality and scalability. The platform is distinguished by a modular architecture and a pluggable consensus engine. This design allows internal system implementations to be swapped with custom modules to adapt the ledger's behavior and consensus mechanisms to specific technical or indus
Employs a modular architecture that allows swapping internal system implementations with custom pluggable modules.
ABP is an opinionated architectural framework for building enterprise software solutions using .NET and ASP.NET Core. It serves as a structural toolkit for implementing domain-driven design and microservices patterns, providing a modular enterprise architecture where functionality is organized into independent, pluggable modules. The platform is specifically designed to support multi-tenant SaaS architectures, isolating data and configurations for multiple independent customers within a single application instance. It provides enterprise boilerplate infrastructure and pre-configured templates
Organizes application functionality into independent, pluggable modules that can be shared or swapped.
This project provides a structured template for building enterprise applications using a modular monolith architecture. It demonstrates how to organize complex business logic into independent, domain-specific modules that remain contained within a single deployment unit. The architecture enforces strict boundaries between components to minimize coupling and complexity. It utilizes domain-driven design principles to map software components directly to real-world business concepts, ensuring that logic remains independent of infrastructure concerns. Communication between these isolated modules i
Structures large codebases into independent, domain-specific modules.
F Prime 是一个基于组件的框架,专为嵌入式和航天软件的开发与部署而设计。它提供了一种模块化架构,将软件逻辑与通信接口解耦,允许开发者通过领域特定建模语言定义系统结构。这种基于模型的方法支持自动化代码生成,在确保复杂系统拓扑一致性的同时,维护了软件模块之间严格的接口契约。 该框架的特色在于其集成的构建系统和地面数据操作套件。它实现了嵌入式软件全生命周期的自动化,从交叉编译和依赖管理到遥测与命令接口的生成。通过为机载飞行软件和地面监控提供统一的环境,它促进了跨不同硬件平台的分布式嵌入式系统的无缝集成、测试及指挥控制。 除了核心架构外,该项目还包含用于系统可观测性的综合工具,包括实时遥测可视化、事件日志记录和诊断追踪。它支持从裸机环境到实时操作系统的多种部署场景,并提供了内存管理、状态驱动行为建模和异步任务执行机制。 该项目以 C++ 仓库形式维护,并提供详尽的文档和支持跨平台开发的构建系统。
Decomposes complex software into discrete, interconnected components to facilitate modular design and system-wide functionality.
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
Implements modular component-based architectures with integrated data flow management.
This project provides a comprehensive collection of best practices, architectural patterns, and coding standards for the .NET ecosystem. It serves as a guide for developers to improve the readability, maintainability, and testability of C# applications by applying established software engineering principles. The repository focuses on enforcing consistent code style and structure through automated configuration rules. It emphasizes the use of SOLID design principles to create modular, loosely coupled components, alongside structured exception management to ensure diagnostic information is pres
Organizes software components to be modular, extensible, and loosely coupled.
Fx is a dependency injection framework and application lifecycle manager for Go. It functions as a component model container that automates the instantiation and connection of components by analyzing constructor parameters and return values to resolve complex dependency graphs. The framework distinguishes itself through module-based component bundling, which encapsulates related constructors into reusable units to manage visibility and logic. It provides advanced resolution capabilities, including mapping concrete types to interfaces for decoupling, resolving dependency ambiguities via unique
Organizes code into decoupled, reusable modules that bundle constructors and logic for better maintainability.
Swinject is a dependency injection framework for Swift that manages object creation and wiring through a centralized container. It resolves dependencies by looking up registered service types at runtime, supporting iOS, macOS, and Linux platforms. The framework provides multiple injection patterns, including initializer injection where dependencies are passed through initializer parameters, property injection that sets resolved dependencies on stored properties after object creation, and method injection that calls methods with resolved dependencies as arguments. It handles complex dependency
Organizes service registrations into separate modules that can be loaded into a container.
Himalaya is a command line email client and a suite of toolsets for email protocol implementation. It provides a terminal-based interface for managing email accounts using IMAP and SMTP protocols. The project includes a PIM framework and specialized libraries for building personal information management applications that integrate emails, contacts, calendars, and tasks. It features a PGP email encryptor for end-to-end encrypted communication and an email data exporter that extracts messages and metadata into JSON format for use in external scripts. The system covers a broad range of email ma
Offers a modular framework for developers to build integrated personal information management applications.
tsyringe 是一个 TypeScript 依赖注入容器和控制反转框架。它通过使用装饰器和元数据管理依赖项和对象生命周期,将类实现与对象创建解耦。 该框架具有层级容器系统,其中子容器可以维护独立的注册作用域,并回退到父容器进行依赖解析。它提供了一个通过单例和瞬态实例化规则控制对象寿命的提供程序系统。 该系统支持递归构造函数注入,并使用代理处理循环依赖。它包括用于基于令牌的注册表映射、多实现解析以及为实现清理接口的对象提供自动资源处置的功能。
Provides a foundation for modular software design through token-based registration and decoupled component organization.
该项目是一个 Python 机器学习库和数据科学工具包,旨在构建预测模型和分析复杂数据集。它提供了一系列使用 Scikit-Learn 框架实现的常见监督和无监督算法。 该工具包包括一个用于从历史数据生成预测的预测建模套件,以及一个用于应用贝叶斯建模和因果检验的统计分析框架。它还具有一个基于 Matplotlib 的数据可视化套件,用于渲染静态图表和图形,以解释分类器边界和数据趋势。 该项目涵盖了用于识别模式和细分的数据聚类工作流、探索性数据分析,以及使用 Pandas 和 NumPy 进行的数据预处理。
Organizes individual machine learning models into distinct scripts for independent execution and testing.
Web Components 是一套用于创建可重用自定义元素的规范,具有封装的样式和逻辑。它提供了一种标准,用于定义在不同浏览器引擎中作为独立组件运行的新 HTML 标签。 该系统建立在三大支柱之上:用于定义新标签的 Custom Elements 标准、用于隔离内部文档结构和样式的 Shadow DOM 实现,以及用于定义在实例化之前保持惰性的可重用标记片段的 HTML Templates 规范。 这些功能通过前端样式隔离和 HTML 模板管理实现了模块化 Web 设计。这种架构允许开发可重用的 UI 组件,通过防止 CSS 泄漏和 DOM 冲突来保持一致的行为和外观。
Creates standardized, self-contained building blocks to maintain consistent user interfaces across various browsers.
该项目是一门架构设计课程和教育资源,专注于将大型 JavaScript 代码库拆分为独立的、可测试且与环境无关的组件。它作为一个模块化编程指南和参考,用于在生产环境中实施结构化策略和最佳实践。 该材料强调使用设计模式来创建解耦组件和健壮的逻辑。它专门涵盖了依赖倒置策略以及使用通用接口来确保逻辑可以在不同 JavaScript 运行时中运行。 该指南提供了关于扩展应用程序架构以及通过分层抽象模型和单一职责模块化来管理复杂性的指导。它涵盖了在项目增长过程中应用模块化设计模式以保持代码整洁和易于管理的方法。
Implements architectural approaches that organize JavaScript code into decoupled, independent packages.
Ant 是一个模块化的游戏引擎框架,专为构建交互式 3D 体验而设计。它提供了一个核心运行时基础设施,支持集成独立的、可复用的功能包以扩展引擎能力。 该引擎具有专门的预编译(AOT)资源管线,可将原始 3D 模型、纹理和着色器转换为优化的二进制格式。通过利用预计算的内存映射布局,系统最大限度地减少了运行时处理开销,并提高了游戏资源的加载速度。 开发工作由一个可脚本化的世界编辑器支持,该编辑器允许通过可视化界面进行场景组装和对象配置。此工作区设计为可扩展,支持通过脚本层进行自定义工具和界面配置。该框架还包括用于在执行期间检查应用逻辑的集成调试工具。
Organizes engine functionality into independent, reusable packages integrated during the build process.
This project is a collection of architectural guidelines and design patterns for building applications with the React library. It provides a framework for organizing frontend architecture, component design standards, and state management strategies to reduce technical debt and complexity. The guide emphasizes a modular approach to component design, focusing on the separation of business logic from the user interface and the use of primitive props to ensure single responsibility. It advocates for a testing philosophy centered on user behavior and integration outcomes rather than internal imple
Defines a framework for creating modular, loosely coupled components using primitive props.