Отсюда
https://habrahabr.ru/post/99889/
Цитата:
Если вы собираетесь написать сто строк кода, чтобы решить задачу, которую можно было бы решить и десятью строками, остановитесь и спросите себя: какого чёрта?
Когда я чувствую искушение чрезмерно обобщить или пере-проектировать кусочек кода, это часто вызвано страхом. Страхом, что кто-то найдёт по-настоящему хорошую причину, почему я не должен был выбрать простое решение.
Я беспокоюсь, что придется переписать его?
Я беспокоюсь, что кто-то раскритикует его или, что я буду выглядеть глупо?
Я беспокоюсь, что это недостаточно профессионально?
А возьмите да напишите простое, конкретное, короткое решение и добавьте к нему короткий комментарий вроде этого: Заменить шаблоном Visitor, если этот код начнёт разрастаться.
P.S. Это чистый копи-паст. Поместил все в QUOTE после ответа Mazzy. Так как запутал.