What are the best practices for separating data in different classes? Not just objective c, but programming in general.
For example, if someone was making a game like angry birds, how one manage classes?
Would you have a separate class for just the projectiles (in angry birds case, the birds) and have different classes for the targets, music and images, etc?
There is no simple answer to this. You first need to really understand, deep in your soul, how object-oriented programming works and what it represents. Then you need to make your own decisions based on that understanding and your understanding of the problem at hand.
I’ve seen many “cookbook” applications of OO and MVC and the like that are terrible, even though the writers dotted all the i’s and crossed all the t’s and their college professors would have given them an A+ on the project.
But in general I’d probably have a common superclass (with several subclasses) for entities that represent visible, movable objects, but probably not use that for music, eg.