Обзор темы [Рефакторинг кода]

Формирование шаблонного метода

(Form Template Method)

Есть два метода в подклассах, которые выполняют похожие шаги в одинаковом порядке, хотя сами шаги разные.

Поместить шаги в методы с одинаковыми сигнатурами так, чтобы исходные методы стали одинаковыми. Затем исходные методы поместить в суперкласс.

Как обычно, убирается дублирование кода с помощью наследования – общая структура выносится в суперкласс, частности описываются в подклассах и включаются в работу благодаря полиморфизму.