For any type of application using a user interface, Model-View-Controller (MVC) is a basic pattern. I suggest studying that first, even if you are not doing a GUI right now. The concepts there will create a framework for understanding other patterns.
The other thing I suggest is looking at is UML (Unified Modeling Language). Unfortunately, much of the material on the Web is to esoteric, but a good understanding of Object Oriented modeling will help you understand how to create meaningful classes. The biggest problem I see is programmers who cram the logic of several classes into one big one. It seems easier at first, but as soon as that class grows, it's out of control. Many small classes, each of which implements a single object's methods and properties, end up being far easier.
UML for Java Programmers by Robert Martin is an excellent book. His best advice: Get rid of the PC-based UML tool, use a piece of paper and a pencil, and throw the paper away once you understand what you are doing. In other words, his advice is very pragmatic.
|