5 个仓库
Encapsulating requests as objects to parameterize clients, queue operations, and support undoable actions.
Distinct from Behavioral Design Patterns: Distinct from Behavioral Design Patterns: specifically targets the Command pattern implementation.
Explore 5 awesome GitHub repositories matching software engineering & architecture · Command Patterns. Refine with filters or upvote what's useful.
Active Merchant 是一个 Ruby 库,提供了一个支付网关抽象层,用于处理跨多个不同支付处理器 API 的信用卡交易。它作为一个支付 API 封装器,提供了一组一致的命令和类,抽象了各种提供商请求和响应格式的复杂性。 该库利用统一的支付网关 API 来标准化全球支付处理并统一支付流程。它特别包含一个标准化的接口,用于处理 3D Secure 身份验证和无卡交易的身份验证。 该项目涵盖了信用卡交易处理的核心功能,包括资金的授权和捕获。它通过将通用支付调用转换为提供商特定格式,并将原始 API 响应映射为具有一致成功和失败属性的标准化内部对象来实现这一点。
Encapsulates payment requests as discrete command objects to decouple transaction initiation from execution.
Phinx 是一个 PHP 数据库迁移和版本控制工具,用于跟踪和部署跨不同环境的数据库模式结构变更。它作为一个数据库版本控制系统,允许通过 PHP 代码定义和管理结构修改。 该工具提供了数据库模式版本控制和回滚机制,使用户能够撤销之前应用的迁移并将数据库恢复到特定的先前状态。此外,它还包含一个数据库填充器,用于使用初始基准记录或虚拟数据填充表。 该系统作为一个独立的命令行界面运行,管理迁移的顺序执行,并通过目标数据库内的元数据表跟踪当前的模式版本。
Implements reversible command patterns using up and down methods for schema application and rollback.
This project is a collection of simplified explanations and code implementations for common software design patterns using JavaScript. It serves as a guide for implementing creational, structural, and behavioral design patterns to solve software architecture problems. The resource categorizes patterns into three primary groups. Creational patterns focus on flexible object instantiation and resource management. Structural patterns organize object relationships and interfaces to form efficient structures. Behavioral patterns manage communication and interaction between objects. The material co
Implements the Command pattern to encapsulate requests as objects, supporting decoupling and undo operations.
该项目是用于在 Ruby 编程语言中实现经典软件设计模式的教育资源和技术参考。它提供了一个精选的代码示例集,演示了如何应用行为型、创建型和结构型设计模式来解决常见的软件开发问题。 该仓库通过关注既定设计原则与 Ruby 独特语言机制的结合而脱颖而出。它展示了如何利用动态方法分发、鸭子类型和基于 Mixin 的组合来创建模块化且可重用的代码。通过应用这些模式,开发者可以提高应用的可维护性和可扩展性,同时通过有效的重构和结构组织减少技术债务。 该集合涵盖了广泛的架构方法,包括管理对象实例化、简化复杂系统关系以及解耦对象通信的技术。这些示例将抽象设计概念转化为具体的、符合 Ruby 习惯的实现,为构建面向对象系统提供了实用指南。
Encapsulates requests as objects to support parameterization, queuing, and undoable operations.
该项目是一个模块化的图像处理框架和流水线库,专为 Ruby 应用程序设计。它提供了一个可编程接口,用于执行复杂的图像转换,包括调整大小、裁剪、旋转和合成,同时管理文件输入和输出参数。 该库通过流畅的、可链式调用的接口脱颖而出,允许开发者通过链接模块化操作来构建复杂的处理工作流。它作为一个图像转换引擎,将繁重的工作委托给外部原生二进制工具,在保持对资源限制和内存使用严格控制的同时,执行自定义命令序列。 该框架支持处理视觉资产的广泛能力,包括格式转换、批量处理和嵌入式图像元数据管理。它还包含仪表钩子,允许注册自定义监控逻辑以跟踪性能指标并在转换过程中识别瓶颈。
Encapsulates image transformation requests as discrete objects to support flexible batch processing and custom command sequences.