o7412369815963Я не сомневаюсь в вашем опыте, но добавлю свое имхо.
Я по интуиции и опыту…
Классы надо использовать в тех случаях, когда в задаче видно взаимодействие объектов реального мира. Вот их свойства и поведение и надо отражать в классах. С этим проблем не возникнет?
Если интересует очень подробное и понятное объяснение классов, то можно обратиться к соответствующим главам книги “Совершенный код” Стива МакКонела (фамилию автора точно не помню, может ошибся в буквах).