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