Pipes & Filters (architectural)

Processing in stages connected by pipes — system-level version of the Pipeline pattern.

Context

ETLs, log processing, build systems, compilers.

Solution

Each filter transforms an input into an output. Pipes connect them. Filters are interchangeable and reorderable.

CSHARP
[Source] → [Parse] → [Validate] → [Enrich] → [Persist] → [Sink]
Tradeoffs
Pro Con
Composition and natural parallelism Shared state is difficult
Reusable across projects Cross-cutting errors require careful design

#architecture #data