Множество маленьких классов звучит просто отлично:)
В частности, если вы позволите каждому классу реализовывать интерфейс, и различные коллабораторы будут взаимодействовать через эти интерфейсы, а не напрямую друг с другом, вы сможете достичь так называемого Supple Design (термин из Домен-управляемый дизайн ) со множеством слабых связей.
Если вы можете свести его к нулю, чтобы важные операции имели тот же тип вывода, что и ввод, вы получите то, что Эванс называет Закрытие операций , что, по моему мнению, является особенно сильной техникой проектирования. .
Что происходит, когда вы применяете SRP, так это то, что, хотя все классы начинаются с малого, вы постоянно проводите рефакторинг, и время от времени случается, что порыв понимания проясняет, что некоторые конкретные классы могут быть намного богаче, чем ранее предполагается.
Сделай это, но продолжай рефакторинг навсегда:)