Register — sortable by domain, complexity, tags

By Domain

By Complexity

16 of 16 patterns

Dependency Injection

BackendCore

Inject external dependencies into a class rather than creating them internally, enabling loose coupling and easier testing.

soliddecouplingtesting+1

Hexagonal Architecture

BackendAdvanced

Organize code into a domain core surrounded by ports (interfaces) and adapters (implementations), isolating business logic from infrastructure concerns.

architectureports-and-adaptersclean-architecture+1

CQRS

BackendAdvanced

Separate read and write models to optimize for different access patterns, scaling, and consistency requirements independently.

cqrsevent-sourcingread-model+1

Strategy Pattern

BackendCore

Define a family of algorithms, encapsulate each one, and make them interchangeable, letting callers choose the strategy at runtime.

behavioral-patternpolymorphismcomposition+1

Medallion Architecture

Data PipelineExpert

Organize data warehouse layers (Bronze/Silver/Gold) to progressively refine raw data through validated, enriched stages.

data-warehouseetlmedallion+2

Schema-Driven Validation

Data PipelineCore

Define data schemas upfront and validate every record against them at ingest, catching quality issues early rather than downstream.

validationschemadata-quality+1

Pure Functions

Data PipelineFundamentals

Write transformation functions with no side effects — same input always produces same output, making pipelines deterministic and testable.

functional-programmingdeterministictestability+1

Batch vs Streaming

Data PipelineAdvanced

Choose between accumulated batch windows and continuous event streams based on latency tolerance, cost, and complexity trade-offs.

batchstreaminglatency+2

Component Composition

FrontendCore

Build complex UI by assembling small, single-purpose components through nesting and prop-passing rather than monolithic inheritance.

reactcomponentscomposition+2

State Management Patterns

FrontendAdvanced

Categorise state by scope and apply the appropriate mechanism (useState, Context, Zustand) to keep data flow predictable.

statereactcontext+2

Micro-Frontend Architecture

FrontendAdvanced

Decompose large frontend applications into independently deployable modules owned by different teams.

micro-frontendsmodule-federationindependent-deployment+1

Docker Port Mapping

InfrastructureFundamentals

Map container-internal ports to unique host ports to run multiple instances without reconfiguring the service itself.

dockercontainersnetworking+2

Multi-Database Orchestration

InfrastructureAdvanced

Manage multiple independent database containers with isolation, health checks, and a path to production-grade hosting.

docker-composedatabasesorchestration+2

Infrastructure as Code

InfrastructureCore

Declare infrastructure in version-controlled code (Terraform, Pulumi) to make deployments reproducible, reviewable, and auditable.

terraformiacpulumi+2

Single Responsibility Principle

Cross-DomainFundamentals

A module, class, or function should have one reason to change, making code easier to test, maintain, and evolve safely.

solidcohesionseparation-of-concerns+1

Composition Over Inheritance

Cross-DomainCore

Prefer combining smaller objects and behaviors over building class hierarchies, reducing fragility and increasing reusability.

object-orientedcompositionflexibility+1