Pipe and Filter
Learned in SE464.
An architectural style where data flows through a series of processing steps (filters) connected by pipes.
- Filters do not share state with other filters
- Filters do not know the identity of their upstream or downstream filters
Examples
- Unix shell scripts: processes are connected via pipes:
cat file | grep Erroll | wc -l - Compilers that do things in stages (lex → parse → typecheck → codegen → optimize)