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 هو عميل WebDriver لـ PHP وإطار عمل لأتمتة المتصفح ينفذ معيار W3C WebDriver. يعمل كواجهة برمجية للتحكم في متصفحات الويب، وتنفيذ JavaScript، وإدارة جلسات المتصفح في كل من البيئات المرئية وغير المرئية (headless). تعمل المكتبة كتنفيذ لبروتوكول Selenium، مما يسمح لتطبيقات PHP بالتواصل مع برامج تشغيل المتصفح مثل ChromeDriver أو GeckoDriver. توفر القدرة على أتمتة إجراءات المستخدم، وتصفح الصفحات، والتحقق من عناصر DOM لاختبار واجهة مستخدم الويب. تغطي قدراتها مجالات واسعة من تفاعل المتصفح، بما في ذلك موقع عنصر الصفحة، وإدارة النماذج، والتحكم في النافذة. تدعم الأداة أيضاً تكوينات متصفح متقدمة، مثل إدارة ملفات تعريف الارتباط، وتوجيه حركة المرور عبر الوكلاء، والوصول إلى shadow DOM، وتنفيذ أوامر DevTools منخفضة المستوى. يتضمن إطار العمل أدوات للمزامنة مع حالات الصفحة والتقاط لقطات شاشة لكل من الصفحات الكاملة والعناصر الفردية.
Encapsulates browser actions as command objects for serialization and transmission to remote drivers.
هذا المشروع عبارة عن مكتبة شاملة تضم ثلاثة وعشرين نمطاً برمجياً قياسياً (design patterns) تم تنفيذها بلغة Java. تعمل كمورد تعليمي يربط المفاهيم المعمارية النظرية بكود عملي موجه للكائنات. تنظم المكتبة هذه الأنماط في ثلاث فئات رئيسية: أنماط إنشائية لإدارة إنشاء الكائنات، وأنماط هيكلية لتنظيم علاقات الفئات والكائنات، وأنماط سلوكية لتنسيق التواصل والمسؤولية بين الكائنات. يوفر التنفيذ أمثلة فئات ملموسة لمجموعة واسعة من الأنماط القياسية في الصناعة، بما في ذلك أنماط Singleton وFactory وBuilder للإنشاء؛ وأنماط Adapter وFacade وProxy للهيكل؛ وأنماط Strategy وObserver وCommand للسلوك.
Implements the Command pattern by encapsulating requests as objects to decouple invokers from performers.
XVim هو إضافة لمحرر نصوص IDE ومحاكي اختصارات لوحة مفاتيح Vim يدمج التحرير النمطي في بيئات التطوير الاحترافية. على وجه التحديد، يعمل كإضافة تجلب التحرير النمطي واختصارات Vim إلى بيئة التطوير المتكاملة Xcode. يعدل المشروع سلوك إدخال لوحة المفاتيح والتنقل في النص للسماح للمستخدمين بالتنقل ومعالجة النص باستخدام اختصارات Vim. يهدف هذا التكامل إلى زيادة سرعة الكتابة وكفاءة التحرير داخل بيئة التطوير الأصلية. يدير النظام الحالات النمطية ويعترض أحداث لوحة المفاتيح لمنع السلوك الافتراضي وتطبيق منطق مخصص. ويستخدم تعيينات قائمة على التكوين لترجمة مجموعات المفاتيح المحددة من قبل المستخدم إلى تسلسلات أوامر داخلية ويستخدم الأتمتة القائمة على AppleScript لتشغيل إجراءات المحرر.
Implements a command pattern to encapsulate editor operations as discrete objects for sequential execution.
PhotoEditor هي مكتبة لتحرير الصور ومحرر صور يعتمد على اللوحة (Canvas) مصمم لمعالجة الصور داخل التطبيقات. تعمل كمجموعة أدوات لتطبيق الفلاتر، والنصوص، والملصقات، والرسم الحر على الصور، وتعمل كمعالج لصور البت ماب وأداة للتعليق التوضيحي الرقمي على الصور. يمكن المشروع المستخدمين من إنشاء قصص بأسلوب وسائل التواصل الاجتماعي من خلال السماح لهم بإضافة الرموز التعبيرية والنصوص والملصقات إلى الصور. كما يدعم معالجة الصور غير المدمرة، مما يسمح للمستخدمين بإزالة العناصر أو التراجع عن التغييرات قبل تصدير التكوين النهائي. تغطي المكتبة مجموعة واسعة من القدرات بما في ذلك معالجة صور البت ماب لفلاتر السطوع والألوان، بالإضافة إلى أدوات التعليق التوضيحي الرقمي لرسم الأشكال والخطوط الحرة. وتتضمن أنظمة لإدارة سجل التعديلات وتصدير الصور المعدلة إلى مسارات الملفات.
Uses the command pattern to encapsulate editing actions as discrete objects for state management.