EXERCISE
1Discover why each component needs crystal-clear, non-overlapping responsibilities.
Imagine a restaurant where the chef also takes orders, the waiter also cooks, and the cashier also serves food. Chaos, right?
Your system components need mutually exclusive responsibilities - like a well-organized restaurant:
Feed System Example:
Web Server: "I serve HTTP requests to users. That's MY job."
Generator: "I create candidate feeds. That's MY job."
Aggregator: "I create final feeds. That's MY job."
Pro Tip: When responsibilities overlap, bugs multiply and debugging becomes a nightmare.