Styles and patterns: layered, MVC, pipes and filters, client-server and broker, repository and blackboard, and event-driven architecture — with their costs, not just their benefits.
| Category | Members |
|---|---|
| Data-centered | Repository, Blackboard |
| Data-flow | Pipes and Filters (batch sequential) |
| Distributed | Client-Server, Broker, Three-tier / n-tier |
| Interactive | Model-View-Controller |
| Hierarchical | Layered, Main program and subroutine |
| Repository | Blackboard | |
|---|---|---|
| Data | Passive shared data store | Shared blackboard of partial solutions |
| Control | Clients drive control | Changes to the data decide which agent runs next |
| Parts | Central data store + client components | Blackboard + knowledge sources + controller |
| Suits | Consistent shared state, many tools on one model | Problems with no deterministic solution sequence |
| Risk | Bottleneck and coupling point | Hard to predict, hard to debug |