Если поведение, которое вы хотите изменить, еще не представлено зависимостью, извлеките его, введя абстракцию: концепцию более высокого уровня и интерфейс. Тогда вы получите часть, которую можно заменить, а не модифицировать. Абстракция предлагает возможность создавать и декорировать модели поведения, чтобы усложнять их без информирования (или изменения) исходного сервиса.
Объекты. Стильное ООП
·
Маттиас Нобак