I am developing an application that has a lot of options like local database CRUD operations, file IO, web APIs calling, notifications, user preference settings, services, widgets etc.
At start it seemed no problem to work with classes, now reaching 50% app completion, I see 20+ classes in my app (all code documented/formatted). I tend to make classes where necessary, using my OO knowledge to full extent. I create classes where I need a template, helper class or utility class etc. I saw someone talking about creating modules in Android app, where functionality is divided and other modules are consumed in
app module making code more managed and readable.
My question is, on what facts or basis should I consider moving to modules instead of keep making classes?
One answer would be "where functionality differs", but yes it is obvious. Are there any sdlc practices or coding patterns that provides us a methodology that when to break code in classes and when to move the set of classes (or set of functionality) to an entire new module?