Catalog
Scenarios
Browse real-world architecture and integration problems, then explore the patterns that help solve them.
What problem are you solving?
API request construction
Assemble a complex API request step by step before sending it.
View scenario →Access control proxy
Check permissions before allowing operations on a sensitive resource.
View scenario →Account onboarding
Coordinate account creation, profile setup, email verification, and welcome messaging through one onboarding operation.
View scenario →Admin action queue
Record administrative exports, notifications, and recalculations as commands for later execution.
View scenario →Air traffic mediator
Coordinate aircraft landing and takeoff decisions through an air-traffic-control mediator.
View scenario →Analytics stack kit
Create a compatible family of data ingestion, transformation, and persistence components for a selected analytics pipeline.
View scenario →Application config singleton
Load environment settings once and serve the same shared configuration throughout the application.
View scenario →Approval workflow chain
Pass an expense request through approvers according to amount and policy constraints.
View scenario →Boolean rule interpreter
Interpret boolean conditions against a context object in a simple rules engine.
View scenario →Cache manager singleton
Maintain one shared in-memory cache so all application components reuse the same stored data.
View scenario →Cart visitor
Calculate pricing and discounts across cart item types without coupling pricing behavior to products.
View scenario →Character creation
Build a game character with a name, class, and class-dependent statistics step by step.
View scenario →Chat room mediator
Route user messages through a chat-room mediator instead of direct user-to-user communication.
View scenario →Checkout workflow
Expose one order-placement operation that coordinates authentication, payment, inventory, and notification subsystems.
View scenario →Cloud provider kit
Create matching storage, queue, and compute clients for a selected cloud provider.
View scenario →Coffee customization
Add extras such as milk, mocha, and whip to a base drink while composing behavior and cost.
View scenario →Command interpreter
Parse a command string into operations that an interpreter executes in order.
View scenario →Configuration assembly
Build a runtime configuration object from many optional settings.
View scenario →Dashboard widget tree
Group widgets and widget containers so layout and rendering recurse over one structure.
View scenario →Data import template
Use a standard import pipeline while file formats customize parsing and validation.
View scenario →Data source abstraction
Read reporting data from SQL, API, or file-based sources without changing reporting logic.
View scenario →Device OS kit
Create UI and system service implementations tailored to a device family or operating platform.
View scenario →Device setup
Run device pairing, configuration, and health checks through one setup operation.
View scenario →Document composition
Assemble invoices, contracts, or letters from reusable document sections.
View scenario →Document export
Choose an exporter for PDF, CSV, or other output formats while keeping the reporting workflow consistent.
View scenario →Document suite
Create matching export handlers for PDF, HTML, and spreadsheet document outputs.
View scenario →Document template clone
Clone a preconfigured document template to create new reports with shared layout and styling.
View scenario →Document visitor
Export or inspect document nodes while keeping those operations outside the document-node classes.
View scenario →Event payload mapper
Convert incoming event payloads into the normalized analytics event shape used by the system.
View scenario →Expression interpreter
Represent an arithmetic expression as terminal and non-terminal expression nodes and evaluate the resulting tree.
View scenario →File storage
Wrap file storage with optional compression and encryption before persistence.
View scenario →File system composite
Treat files and folders through one interface so nested file-system structures can be processed uniformly.
View scenario →Form command chain
Check a form submission with sanitization, validation, and policy handlers before saving it.
View scenario →Form state memento
Preserve a multi-step form draft so it can be restored after navigation or interruption.
View scenario →Game character clone
Clone a base character prototype to create variant enemies or allies with shared statistics and equipment.
View scenario →Game environment kit
Create related terrain, enemy, and visual-effect assets for a chosen game environment.
View scenario →Game save memento
Store game save points so players can restore progress later.
View scenario →Game tile flyweight
Reuse terrain definitions while map tiles retain only coordinates and local effects.
View scenario →HTTP client
Wrap an HTTP client with caching and metrics without changing its request interface.
View scenario →Home theater startup
Simplify a multi-device home-theater startup sequence into one watch-movie operation.
View scenario →Job queue processing
Store jobs as commands so they can be submitted now and executed later by a worker.
View scenario →Legacy payment gateway integration
Translate a legacy payment gateway API into the checkout service interface used by the application.
View scenario →Logger singleton
Use one shared logger instance so every component writes through the same output pipeline.
View scenario →Logger transport
Select console, file, or remote logger transports through specialized creators for different environments.
View scenario →Logging, metrics, and tracing
Layer logging, metrics, and tracing around a core operation while keeping cross-cutting concerns separate.
View scenario →Macro command sequence
Bundle several actions into a reusable macro that runs from one trigger.
View scenario →Media player state
Change media-player behavior when playback is playing, paused, or stopped.
View scenario →Menu composite
Represent menu items and submenus together so the UI can render or invoke them consistently.
View scenario →News publisher
Notify subscribers when a new article is published so applications and channels update automatically.
View scenario →Notification channel
Create channel-specific email, SMS, or push senders without changing the notification workflow.
View scenario →Notification channels
Wrap a base notifier with email, SMS, or Slack delivery layers to send one message through multiple channels.
View scenario →Notification delivery
Wrap notification delivery with logging and retry behavior while preserving the same send contract.
View scenario →Notification delivery
Select a delivery-channel strategy without requiring callers to manage channel-specific branching.
View scenario →Notification delivery
Send the same notification through email, SMS, or push channels without changing the sending flow.
View scenario →Notification routing chain
Route a message through preference checks, channel selection, and fallback handlers.
View scenario →Order processing template
Use one high-level order-processing sequence while varying validation and fulfillment details by order type.
View scenario →Order state
Change order behavior as an order moves from pending to processing to shipped.
View scenario →Order status notifications
Broadcast order-status changes so email, warehouse, and analytics consumers react independently.
View scenario →Organization chart composite
Use a common component interface for employees and managers to traverse an organization hierarchy recursively.
View scenario →Pagination iterator
Walk through paginated data without revealing how pages are stored or retrieved.
View scenario →Password validation chain
Pass a password through several validation rules before accepting it.
View scenario →Payment processing
Delegate payment behavior to a selected strategy while keeping the checkout flow stable.
View scenario →Payment routing
Route checkout payments through different payment providers while keeping the checkout API stable.
View scenario →Permission group hierarchy
Nest roles and permission groups so aggregate permissions can be evaluated recursively.
View scenario →Pizza order construction
Assemble a pizza order with a selected size, crust, toppings, and extras.
View scenario →Playlist iterator
Expose playlist songs one at a time through a custom iterator.
View scenario →Printer driver layer
Print documents through interchangeable local, network, or cloud printer drivers.
View scenario →Product config clone
Clone a product-configuration prototype to generate similar catalog items with small differences.
View scenario →Remote control actions
Bind remote-control buttons to commands that trigger device actions without device-specific invoker logic.
View scenario →Remote control bridge
Control TVs, speakers, and streaming devices through interchangeable device implementations.
View scenario →Remote service proxy
Wrap a remote service call so clients can interact with it like a local object.
View scenario →Report generation
Assemble a report from headers, body sections, charts, and footers.
View scenario →Report generation
Hide data collection, formatting, rendering, and delivery behind one report-generation operation.
View scenario →Report generation template
Use one report-generation flow while different report types customize data collection and formatting.
View scenario →Request middleware chain
Process a web request through logging, authentication, rate-limiting, and transformation handlers.
View scenario →Scene graph composite
Represent shapes and containers in a scene graph so rendering and transforms recurse through the hierarchy.
View scenario →Shape renderer bridge
Render shapes through screen, canvas, or SVG backends without changing shape behavior.
View scenario →Shape visitor
Apply rendering or measurement operations to shapes without changing the shape classes.
View scenario →Shipping cost calculation
Choose a shipping-cost algorithm by delivery type without one large conditional block.
View scenario →Stock price alerts
Notify dashboards and alert services whenever a tracked stock price changes.
View scenario →Support ticket chain
Route a support ticket through handlers until the appropriate support level processes it.
View scenario →Text editor memento
Store text-editor content snapshots so a user can undo changes.
View scenario →Text editor undo
Wrap text insertion operations in commands that can be executed and later undone from history.
View scenario →Text formatting
Wrap a text component with bold, italic, and underline formatting without modifying the original component.
View scenario →Text formatting flyweight
Reuse character-style objects across many glyphs while keeping position and content-specific state separate.
View scenario →Third-party task API integration
Normalize a third-party task payload into the application’s internal task model.
View scenario →Traffic light state
Change traffic-light behavior according to whether the light is red, yellow, or green.
View scenario →Tree rendering flyweight
Share tree-type data across many tree instances to reduce memory use in a forest renderer.
View scenario →Tree traversal iterator
Traverse a tree in order without exposing its internal node structure.
View scenario →UI accessibility enhancement
Wrap a UI component with labels, keyboard handling, and hints without changing the base component.
View scenario →UI form assembly
Construct a multi-step user interface with fields, validation, and actions.
View scenario →UI mediator
Coordinate form-control enabling, validation, and updates through a UI mediator.
View scenario →UI theme kit
Create matching UI controls for a selected light or dark application theme.
View scenario →Video conversion pipeline
Wrap several media-processing steps behind one video conversion operation.
View scenario →Virtual image proxy
Delay loading high-resolution images until an image is actually displayed.
View scenario →Workflow step command
Model each business-process step as a command invoked by a workflow coordinator.
View scenario →