Это конкретное проявление развилки по направлениям адаптации. Если какую-то задачу необходимо выполнять раз за разом, то мы можем пойти в одном из двух направлений:
- Научиться делать это быстрее руками (то есть, автоматизировать Бизнес-процесс, это 2-1c Адаптация через специализацию методов.
- Придумать “мета”-способ решения, это тоже что-то вроде автоматизации, только в онтологической плоскости. Переформулировать проблему так, чтобы найти универсальное, расширяемое решение. Это 2-1b Адаптация через обобщение методов.
-
В целом, это укладывается в соблюдение Open-Closed Principle и является еще одним хорошим примером Производство vs Способность к производству.
-
Цикл TDD можно представить как формулирование специфичной проблемы (новый тест), решение этой конкретной проблемы (код, удовлетворяющий тест) и поиск мета-решения (рефакторинг, прояснение и обобщение семантики решения).