design
Practical resources about design for software engineers.
152 results
Patterns for Maintainable Code
Design patterns are not cookbook recipes — they are a shared vocabulary for discussing solutions to recurring problems. Knowing when to apply (and when to avoid) a pattern is a hallmark of senior engineering.
Browse our catalog of creational, structural, and behavioral patterns. Each entry includes a real-world scenario, UML diagrams, implementation in multiple languages, and a discussion of trade-offs. From Singleton to Outbox, find the right tool for your context.
Graceful Degradation Pattern
Degrade functionality instead of failing when dependencies are unavailable. Serve partial results,...
Idempotent Consumer Pattern
Process messages from a queue exactly once regardless of duplicates by using idempotent operations,...
Identity Map Pattern
Ensure each object is loaded only once per transaction by caching instances by their primary key,...
Inbox Pattern
Use a dedicated inbox table or queue to record incoming events or requests, ensuring reliable...
Intercepting Filter Pattern
Compose cross-cutting concerns into a chain of pluggable filters that intercept requests and...
Interpreter Pattern
Define a representation for a language's grammar along with an interpreter that uses the...
Interpreter Pattern for Domain-Specific Expression Languages
Build a language interpreter that evaluates expressions and rules by representing grammar as...
Iterator Pattern
Provide a way to access elements of a collection sequentially without exposing its underlying...
Iterator Pattern for Custom Collection Traversal in
Provide a way to access elements of an aggregate object sequentially without exposing its...
Manager Pattern
Encapsulate lifecycle, coordination, and access control for a set of related objects through a...
Marker Interface Pattern
Use empty interfaces as metadata tags to signal properties or capabilities at compile time and...
Materialized View Pattern
Precompute and store expensive query results in a read-optimized cache to avoid repeated costly...
Mediator Pattern
Define an object that encapsulates how a set of objects interact. A behavioral design pattern for...
Mediator Pattern for Loose Component Coupling in
Reduce chaotic dependencies between UI components by introducing a mediator that centralizes...
Memento Pattern
Capture and restore an object's internal state without violating encapsulation. A behavioral design...
Memento Pattern for State Snapshot and Restoration
Capture and externalize an object's internal state without violating encapsulation, enabling undo,...
Mixin Pattern
Add reusable behavior to classes without inheritance by composing methods from shared objects into...
Model-View-Presenter (MVP) Pattern
Separate presentation logic from the view by introducing a presenter that intermediates between the...
Model-View-ViewModel (MVVM) Pattern
Bind UI components declaratively to a ViewModel that exposes data and commands, enabling automatic...
Module Pattern
Encapsulate private state and behavior inside a self-contained unit with a public API. A structural...
No results found.