I'm learning how to program in Java and I know that most powerful thing in Java is OOP, not writing everything using one class with hundreds of "if()". And as I try to learn, I see that learning new techniques is quite easy, while object oriented thinking and designing of programs is difficult.
Unfortunately, all online courses and books I saw are designed to teach TECHNIQUES. Different behaviours or functionalities of Java with short example programs that demonstrate well what is inheritance or something else.
I can't find examples of well designed but quite simple programs that use multiple various objects that do everything, and one main class that contains only a few instructions to manipulate those objects.
If I understand correctly, this is a well designed application - a problem was solved by designing a few objects in a smart way and operating them. By analysing examples you see that one object may be designed more towards containing some methods, other is ore data-oriented, and you see how can you write programs by thinking objects. The sources I found mostly contain simple programs with one or two objects! How can you learn OOP with these?
Can you help me with some good sources?
Because I am completely beginner, maybe some examples without exact code, just some schemes illustrating how can you solve various problems using objects in a smart way?
Unfortunately, this page www.exampledepot.com/ doesn't work, so I can't say if it contains anything useful.