27 个仓库
Encapsulates user actions as discrete objects for centralized logic and undo history.
Distinguishing note: Focuses on architectural command patterns rather than general task execution.
Explore 27 awesome GitHub repositories matching software engineering & architecture · Command Patterns. Refine with filters or upvote what's useful.
This project is a comprehensive educational resource designed to help developers master object-oriented design and architectural patterns. It serves as a structured reference for understanding how to organize classes and objects to improve code maintainability, resolve recurring development challenges, and prepare for technical engineering assessments. The guide covers the three primary categories of design patterns: creational, structural, and behavioral. Each pattern is explained through practical examples that demonstrate how to manage object instantiation, simplify complex interfaces, and
Implements the Command pattern to wrap requests into standalone objects for decoupling senders and receivers.
This project is a comprehensive collection of software design patterns implemented in Python. It serves as a reference for architectural, behavioral, creational, and structural patterns to guide the organization of Python applications. The collection covers behavioral strategies for managing object communication and state, creational techniques for controlling object instantiation, and structural methods for composing classes and objects into flexible hierarchies. It also includes architectural references for system-wide structuring, such as multi-tier architectures and blackboard models. Th
Encapsulates requests as objects to decouple the triggering of a job from its internal execution logic.
Tiptap is a headless, modular framework designed for building custom rich-text editors. It provides a developer-focused abstraction layer over a structured document model, allowing for full control over the underlying schema through a plugin-based architecture. By separating document state management from the user interface, it enables the creation of tailored editing experiences that remain framework-agnostic. The project distinguishes itself through a robust collaborative engine that supports real-time multi-user editing, conflict resolution, and presence tracking. It integrates artificial
Performs document modifications through discrete, predictable command functions.
GrapesJS is a modular, web-based visual editor framework designed for building drag-and-drop page builders and custom content management interfaces. It functions as a structural engine that manages hierarchical document models, allowing developers to create reusable design blocks and complex page compositions. By providing a schema-driven approach to UI configuration, the framework enables the construction of design environments where users can assemble layouts and manage component properties visually without writing raw code. The project distinguishes itself through a highly extensible, plug
Encapsulates complex user actions as discrete objects to enable centralized logic and undo history.
GitUI is a terminal-based interface for managing Git repositories, providing an interactive environment for executing version control operations, inspecting commit logs, and navigating file hierarchies. It functions as a keyboard-driven client that allows users to stage changes, manage branches, and review project history directly from the command line. The application distinguishes itself through a focus on interface responsiveness and user-defined workflows. It utilizes background thread offloading and asynchronous data caching to maintain performance during complex operations, while offeri
Encapsulates user actions as discrete objects for centralized logic and keyboard-driven command dispatching.
wangEditor is a JavaScript-based web rich text editor and WYSIWYG interface used for composing formatted documents directly in a browser. It serves as a client-side editing component for web applications to handle document styling and content manipulation. The editor is built as a plugin-based engine, allowing new features and formatting capabilities to be added through a registration interface. It utilizes a schema-driven approach to validate HTML tags and attributes, ensuring clean and consistent document output. The project provides tooling for content management systems, frontend text in
Implements an architectural command pattern to encapsulate editing operations for consistent state transitions and undo history.
This project is a collection of official plugin packages and a native integration library designed to provide a consistent interface for accessing hardware and software functionality across different mobile and desktop platforms. It serves as a native platform bridge, enabling cross-platform applications to invoke native code and manage operating system dependencies. The project utilizes a federated plugin architecture, splitting plugins into common interfaces and separate platform implementations to allow for independent development and extension. It further supports native integration throu
Implements the command pattern to encapsulate requests as objects, decoupling operation triggers from execution logic.
This project is a browser-based JavaScript library that transforms standard web elements into inline, WYSIWYG rich text editing areas. It functions as a programmatic wrapper around the native browser content-editable attribute, providing a structured interface for managing text input, media embedding, and document formatting directly within existing page layouts. The editor is distinguished by its contextual floating toolbar, which dynamically appears based on user text selection to provide relevant formatting options. It utilizes a plugin-based architecture that allows developers to inject c
Executes text styling and structural changes by invoking standardized browser commands or custom scripts.
This project is a Vim keybinding emulation for Visual Studio Code. It implements modal text editing to separate navigation and content creation through specialized modes, reducing reliance on the mouse. The emulator supports custom IDE workflows by importing standard configuration files and remapping keyboard shortcuts. It integrates with external processes to handle complex commands and reproduces logic from common plugins for surrounding characters, commenting, and rapid motion. The capability surface includes keyboard-driven navigation using text objects, markers, and character sequences.
Implements the command pattern to encapsulate text manipulation and editor state changes as discrete objects.
MuseScore is a professional music notation application designed for composing, arranging, and engraving musical scores. It provides a graphical interface that renders notation in real-time, allowing users to create and edit complex musical arrangements with immediate visual feedback. The software distinguishes itself through a robust document-object model that manages the relationships between notes, staves, and layout formatting. It supports the standard markup language for music interchange, ensuring that scores can be shared across different notation platforms. Additionally, the applicatio
Encapsulates user actions as discrete objects to maintain a precise history of score modifications and state changes.
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
Decouples request handling from business logic using a centralized command bus.
SB Admin 2 is an open-source admin dashboard theme built on Bootstrap, providing a ready-made interface for building administrative panels and data management tools. The project includes a complete Bootstrap-based UI framework with responsive layout components and utility classes as its foundation. The theme comes with an integrated development workflow that includes a file-watching development server with automatic browser reloading, SCSS-to-CSS compilation, JavaScript minification, and vendor dependency management through a Gulp-based build pipeline. This tooling allows developers to custom
Automates SCSS compilation, JavaScript minification, and vendor dependency copying through a Gulp-based task runner.
Krita is an open-source digital art studio and professional painting software designed for creating digital illustrations and paintings. It functions as a raster graphics editor and a cross-platform graphics application built with the Qt framework. The software supports a comprehensive digital painting workflow, covering the production of concept art, high-resolution digital illustrations, and hand-drawn 2D frame animations.
Implements the command pattern to track user actions as discrete objects for undo and redo functionality.
Octopress is a Jekyll blogging framework and static site generator theme designed for publishing professional blogs. It provides a collection of responsive semantic templates and styling to render markdown content into mobile-friendly websites. The project features an integrated static asset pipeline that compresses and transforms CSS and JavaScript files during the build process to optimize load times. It includes an SEO optimized blog template with automatic sitemap generation, archive pages, and metadata for improved search engine indexing, as well as client-side site search using local in
Provides pre-configured scripts to automate the build, compression, and deployment of static files.
SVGEdit is a browser-based SVG editor and canvas engine used for creating and modifying scalable vector graphics files. It provides a web interface for vector design and functions as an embeddable editor that can be injected into HTML elements within other web applications. The project allows for the development of custom SVG tools and the construction of bespoke vector graphics editors by utilizing its standalone drawing engine.
Implements a command-pattern undo system to track and reverse user actions on the vector canvas.
本项目是一个参考集合,展示了 Kotlin 中常见软件设计模式的实际实现。它通过行为型、创建型和结构型模式的应用,作为架构最佳实践和面向对象原则的指南。 该集合提供了具体的实现,演示了如何解耦对象实例化、管理对象间的通信与职责,以及组织复杂的类和对象关系。 该参考涵盖了工厂和构建器等创建型模式,适配器和组合模式等结构型模式,以及观察者和策略等行为型模式。
Provides an implementation of the command pattern to encapsulate requests as discrete objects for queuing.
php-webdriver is a WebDriver PHP client and browser automation framework that implements the W3C WebDriver standard. It serves as a programmatic interface for controlling web browsers, executing JavaScript, and managing browser sessions in both headed and headless environments. The library functions as a Selenium protocol implementation, allowing PHP applications to communicate with browser drivers such as ChromeDriver or GeckoDriver. It provides the ability to automate user actions, navigate pages, and validate DOM elements for web UI testing. Its capabilities cover broad areas of browser i
Encapsulates browser actions as command objects for serialization and transmission to remote drivers.
XVim 是一个 IDE 文本编辑器扩展和 Vim 键位模拟器,将模态编辑集成到专业开发环境中。具体而言,它作为一个插件,为 Xcode 集成开发环境带来了 Vim 模态编辑和键位绑定。 该项目修改了键盘输入和文本导航行为,允许用户使用 Vim 快捷键导航和操作文本。这种集成旨在提高原生开发环境中的打字速度和编辑效率。 该系统管理模态状态并拦截键盘事件,以防止默认行为并应用自定义逻辑。它使用基于配置的映射将用户定义的按键组合转换为内部命令序列,并利用基于 AppleScript 的自动化来触发编辑器操作。
Implements a command pattern to encapsulate editor operations as discrete objects for sequential execution.
这是一个用 Java 实现的二十三种标准软件设计模式的综合库。它作为一个教育资源,将理论架构概念映射到实际的面向对象代码中。 该库将这些模式分为三个主要类别:用于管理对象实例化的创建型模式、用于组织类和对象关系的结构型模式,以及用于协调对象间通信和职责的行为型模式。 该实现为广泛的行业标准模式提供了具体的类示例,包括用于创建的 Singleton、Factory 和 Builder 模式;用于结构的 Adapter、Facade 和 Proxy 模式;以及用于行为的 Strategy、Observer 和 Command 模式。
Implements the Command pattern by encapsulating requests as objects to decouple invokers from performers.
PhotoEditor is an image editing library and canvas-based photo editor designed for in-app image manipulation. It serves as a toolkit for applying filters, text, stickers, and freehand drawing to images, functioning as both a bitmap image processor and a digital photo annotation tool. The project enables the creation of social media style stories by allowing users to add emojis, text, and stickers to photos. It supports non-destructive image manipulation, allowing users to remove elements or revert changes before exporting the final composition. The library covers a broad range of capabilitie
Uses the command pattern to encapsulate editing actions as discrete objects for state management.