12 个仓库
Architectural patterns that organize application logic into modular, reusable, and configurable plugins.
Distinct from Hook-Based Plugin Systems: Existing candidates are too specific to interpreters, exports, manifests, or hooks; this is a general plugin architecture for business logic.
Explore 12 awesome GitHub repositories matching software engineering & architecture · Plugin-Based Architectures. Refine with filters or upvote what's useful.
Yo 是一个 Node.js CLI 框架和项目模板编排器,用于自动化创建标准化软件项目。它作为交互式项目生成器和脚手架运行器运行,根据用户输入和预定义模板生成定制的源代码和清单。 该系统利用基于插件的架构来发现和执行外部设置工具。它通过在将更改提交到磁盘之前解决冲突的内存优先文件系统,以及确保复杂设置正确执行顺序的优先级队列任务编排模型而脱颖而出。 该框架涵盖了广泛的自动化功能,包括交互式用户提示、模板化文件生成和程序化包清单修改。它还提供用于依赖安装自动化、生成器生命周期管理以及验证输出文件结构的测试框架的工具。
Uses a plugin-based architecture to discover and execute external setup tools from the local file system.
Seneca 是一个用于 Node.js 的消息驱动架构框架和微服务工具包。它作为分布式任务编排器和基于模式的消息路由器运行,允许开发人员构建通过消息总线通信的解耦服务系统。 该框架通过将业务逻辑组织为可重用、可配置模块的模块化插件系统而脱颖而出。它支持动态操作扩展,使新的处理程序能够包装或覆盖现有的操作模式,从而在不修改原始代码的情况下注入自定义逻辑。 该系统涵盖了广泛的功能,包括分布式服务通信、异步操作编排和实体数据管理。它还提供用于操作模式跟踪、基于 Web 的日志可视化以及用于服务依赖模拟的质量保证工具的观测工具。
Organizes business logic into reusable, configurable plugins that can be loaded into service instances.
sofa-rpc 是一个基于 Java 的远程过程调用框架,旨在执行远程函数并在分布式应用程序之间交换数据。它作为分布式服务编排器和通信工具,提供了一个集成注册中心的管理器来定位和追踪集群中的活动网络端点。 该框架采用基于接口的插件架构,允许通过抽象接口自定义内部逻辑和 RPC 行为。这种可扩展性使得能够在不修改核心系统的情况下实现专门的业务逻辑。 该系统通过自动集群故障转移、故障处理和动态负载均衡策略确保高可用性和可靠性。它管理服务流量路由,并利用抽象传输层将通信逻辑与物理网络协议解耦。
Employs an architectural pattern that allows internal framework behavior to be customized via modular plugins.
CouchPotatoServer is an automated movie downloader and media collection manager. It functions as a background service that monitors watchlists and automatically acquires new movie releases via BitTorrent or Usenet. The project acts as a plugin-based orchestrator that coordinates file discovery and download requests across different binary protocols. It employs an event-driven pipeline to manage the full lifecycle of a media file, from initial discovery on indexers to final placement in local storage. The system manages home media libraries through relational database tracking and pattern-bas
Provides a modular plugin system to integrate diverse indexers and download clients.
pyload is a Python-based download manager that automates file transfers from web hosters and cloud storage services. It functions as a modular task automator, utilizing a plugin-based architecture to handle site-specific connection protocols and decryption requirements. The system provides multiple ways to interact with the download queue, including a centralized web-based dashboard for remote management and a terminal interface for command-line control. It also acts as a REST API download controller, exposing system functions and status tracking to external applications through an OpenAPI-co
Implements a framework for loading external scripts to handle site-specific download logic and hoster requirements.
This project is a cross-platform device integration suite that synchronizes notifications, clipboards, and files between computers and mobile devices over a local network. It functions as a notification mirroring service, a remote input controller, a remote system manager, and a wireless file transfer tool. The system enables the use of a mobile device as a wireless touchpad, keyboard, and presentation remote. It allows for the remote execution of console commands, multimedia playback control, and the monitoring of mobile battery status from a desktop interface. Capabilities cover a broad ra
Implements a modular architecture where specific capabilities are organized as independent plugins.
This project is a logging framework for Java environments, providing a standardized interface for capturing diagnostic application events and maintaining persistent audit trails. It functions as an enterprise-grade logging engine designed to handle high-throughput applications while managing complex diagnostic data. The framework distinguishes itself through a modular provider architecture that allows for the dynamic swapping of logging implementations and output destinations. It utilizes a hierarchical configuration system that enables granular control over logging behavior, supported by plu
Provides a modular system for dynamically swapping logging implementations and appenders through a standardized interface.
Tomahawk is a multi-source music player that aggregates local audio files and online streaming services into a single interface. It functions as a social music discovery platform, enabling users to browse shared libraries, exchange tracks, and participate in collaborative listening sessions. The application distinguishes itself through a decentralized peer-to-peer architecture that facilitates direct media discovery and data exchange between users without relying on a central server. It utilizes a modular resolver framework that allows for the integration of custom plugins, enabling the conne
Uses a modular plugin architecture to translate platform-specific APIs into a unified internal format.
Budgie Desktop is a graphical workspace environment for Linux systems that integrates window management, application launching, and system control tools. Built upon the GTK toolkit, it provides a unified shell for organizing open windows and interacting with daily computing tasks. The environment distinguishes itself through a modular, plugin-based panel architecture that allows for the dynamic loading of applets into a shared container. It utilizes a centralized object-oriented framework to manage component lifecycles and relies on a dedicated service for secure, authenticated handling of ad
Extends the desktop interface by dynamically loading modular applets into a shared container to provide customizable system functionality.
This project provides a lightweight Markdown text editing component designed for integration into React applications. It offers a split-pane interface that allows users to author content in a raw text editor while simultaneously viewing a rendered preview, with synchronized scrolling to ensure the two views remain aligned during the writing process. The editor is built to be highly extensible, allowing developers to customize the interface by toggling specific toolbar buttons or preview areas. It supports a plugin-based architecture for custom parsing logic and provides a callback-driven work
Uses a plugin-based architecture to inject custom syntax parsing and rendering logic into the editor.
Mitsuba is a physically based rendering engine that calculates realistic light interactions to produce accurate synthetic images using both biased and unbiased numerical integration techniques. It is designed for computer graphics research and supports interactive three-dimensional scene inspection through a graphical interface that provides progressive real-time previewing, refining images iteratively when movement stops. The system features a plugin-based architecture that dynamically loads modular components at runtime to incorporate custom materials, light sources, and complete rendering
Organizes core application logic into modular and configurable plugins loaded dynamically at runtime.
Documenter.jl is a documentation generator designed to transform Julia source code and markdown files into structured, navigable technical websites. It functions as a static site generator that compiles project information into interlinked HTML pages, providing a framework for organizing software implementation details and API references. The system distinguishes itself through a multi-pass rendering process that ensures consistent cross-reference link resolution across all project symbols. By utilizing abstract syntax tree introspection, it extracts metadata directly from the language runtim
Provides a plugin architecture for injecting custom logic and handling specialized content types.