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.

intermediate

Bridge Pattern for Decoupling UI Components from Themes

Separate an abstraction from its implementation so both can vary independently using the Bridge...

intermediate

Builder Pattern

Construct complex objects step by step. A creational design pattern for readable, configurable...

beginner

Builder Pattern for Complex Configuration Objects

Use the Builder pattern to construct complex configuration objects with optional parameters and...

intermediate

Business Delegate Pattern

Reduce coupling between presentation and business tiers by introducing an intermediary that handles...

beginner

Cache-Aside Pattern

Load data into the cache on demand from the backing store. A caching pattern that gives the...

intermediate

Cache Invalidation Pattern

Strategies for keeping cached data fresh: TTL expiration, explicit invalidation, write-through, and...

advanced

Cache Stampede Prevention Pattern

Prevent thundering herd cache misses with locks, single-flight, and early refresh strategies to...

intermediate

Chain of Responsibility for Request Processing Middleware

Pass requests along a chain of handlers where each handler decides whether to process the request...

intermediate

Chain of Responsibility Pattern

Pass requests along a chain of handlers until one handles it. A behavioral design pattern for...

intermediate

Circuit Breaker Pattern

Prevent cascading failures by stopping requests to failing services. An architectural pattern for...

intermediate

Claim Check Pattern

Store large payloads in external storage and pass only a lightweight reference token through the...

intermediate

Command Pattern

Encapsulate a request as an object, letting you parameterize clients with queues, logs, and...

intermediate

Command Pattern with Undo/Redo in TypeScript

Implement the Command pattern to encapsulate requests as objects, enabling undo/redo operations,...

advanced

Compensating Transaction Pattern

Undo the effects of a completed transaction by executing a counter-operation, enabling eventual...

intermediate

Composite Entity Pattern

Map a coarse-grained entity to multiple database tables by composing dependent objects, reducing...

intermediate

Composite Pattern

Compose objects into tree structures to represent part-whole hierarchies. A structural design...

intermediate

Composite Pattern for UI Component Trees in React

Use the Composite pattern to compose objects into tree structures, letting clients treat individual...

beginner

Content Delivery Network (CDN) Pattern

Distribute static and live content through geographically dispersed edge servers to reduce latency,...

intermediate

Context Object Pattern: Examples

Learn the Context Object Pattern to reduce parameter bloat. Practical examples in Python, Java, and...

advanced

CQRS Pattern

Separate read and write operations into different models, optimizing each for their specific...

No results found.