Устойчивость компонента пропорциональна его абстрактности
Высокоуровневые политики стоит размещать в устойчивых компонентах. Правда, это приводит к тому, что изменения в этом коде будут влиять на значительную часть системы. Каким образом можно сделать максимально стабильный компонент в достаточной степени гибким? С помощью Open-Closed Principle и абстрактных классов.
Мера абстракности компонента - это отношение числа его абстрактных классов к общему числу классов в компоненте.