Application composition
We'll close out the chapter with a section on application composition. This is the 10,000 foot view of our application, where we can see how individual features fit. In Chapter 3, Component Composition we looked at component composition, and the same principles apply here. The idea being that we're operating at a slightly higher level.
In Chapter 6, User Preferences and Defaults we looked at configurability, and this is also relevant to the idea of application composition. For example, turning features off, or turning on features that are disabled by default. The composition of our application as a whole has a huge impact on our ability to scale down certain aspects.
Feature enablement
The expedient approach to scaling down is turning features off. The difficult part is getting stakeholders to agree that this is a good idea. Then we can just remove the feature, and we're all set, right? Not necessarily. We may have to spend some time taking the feature out. For example...