Все остальные ответы, которые вы получили, мудры: в основном, «Это зависит».
Но в другом смысле существует оптимальное количество классов, которое вы должны иметь для данного числа методов; то есть, учитывая ряд методов, существует определенное количество классов (в неиерархическом контексте инкапсуляции и в близком приближении), которое минимизирует потенциальную структурную сложность этих методов. (Фактическое число задается вторым законом инкапсуляции и равно квадратному корню из числа методов, деленного на количество открытых методов в классе).
Итак, возникает вопрос: сколько методов вам понадобится? По аналогии с вышеизложенным, когда методы инкапсулируются в классах, блоки кода инкапсулируются в методах, и поэтому число методов фиксируется тем же вторым законом, приведенным выше.
Итак, вопрос в следующем: сколько у меня будет блоков кода?
На это отвечают другие ответы, которые вы получили: это зависит.
Для получения дополнительной информации см. Теорию инкапсуляции здесь:
www.EdmundKirwan.com
С уважением,
Ed.