Приложение  работает  с  двумя  типами  вывода чисел: вертикальным и горизонтальным. Нужно  убрать  дублирование кода.
Созданы  классы для  генерации  чисел  вертикально  и  горизонтально. Используется  наследование GenerateVerticalNumbers->GenerateGorizontalNumbers->GenerateNumbers.  Класс GenerateNumbers абстрактный. Убрано  дублирование кода в  OnClickListenerFactory.