Service Composition Patterns
Explain how to compose smaller, focused services together rather than building large, monolithic services.
As an Angular application grows, there's a strong temptation to let one service accumulate more and more responsibilities — fetching data, caching it, transforming it, tracking loading state, handling errors — until it becomes a 500-line class that's hard to test and hard to reason about. Service composition is the discipline of instead building several small, focused services, each injectable independently, and having a higher-level service (or component) coordinate them by injecting each one it needs.
It's like a restaurant's expediter who coordinates between the grill station, the salad station, and the dessert station — the customer just talks to one person (the facade) who assembles the full order from several focused specialists working behind the scenes.