design
Practical resources about design for software engineers.
150 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.
Identity Map Pattern
Cache objects by primary key so each database row maps to a single in-memory instance per...
Inbox Pattern
Use a dedicated inbox table or queue to record incoming events or requests, ensuring reliable...
Intercepting Filter: Pluggable Request Pipelines
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 Collections
Access elements of an aggregate object sequentially without exposing its underlying representation...
Manager Pattern
Centralize object lifecycle, lookup, and cleanup behind a dedicated manager class — from resource...
Marker Interface Pattern
Use empty interfaces as metadata tags: when an empty interface beats annotations, how Java's...
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 Decoupled UI Components
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...
Multiton Pattern
Manage a map of named singleton instances, providing controlled access to a finite set of shared...
MVC Pattern in Modern Frontend Applications
Apply the Model-View-Controller pattern to React and Vue applications to separate data, UI, and...
No results found.