Альтернативные классы с разными интерфейсами.
Два класса выполняют одинаковые функции, но имеют разные названия методов.
##Signs and Symptoms
Два класса выполняют одинаковые функции, но имеют разные названия методов.

##Reasons for the Problem
Программист, который создал один из классов, скорей всего, не знал о том, что в программе уже существует аналогичный по функциям класс.
##Payoff
-
Вы избавляетесь от ненужного дублирования кода, и, таким образом, уменьшаете его размер.
-
Повышается читабельность кода, улучшается его понимание. Вам больше не придется гадать, зачем создавался второй класс, выполняющий точно такие же функции, как и первый.
