Rules of Progamming: Use Design Patterns When Appropriate
We all know about them, yet we seem to be afraid to use them. Fact is, that design patterns not only improve your code, but also will speed up development time and make it easier to extend code in the future.
Inversion of Control is a design pattern / principle that gets much attention these days, but there are several other design patterns to utilize, such as the the repository pattern.
You also have the presentational patterns, such as MVC (Model View Controller) and MVP (Model View Presenter).
Knowing your design patterns and how they can improve your code, is close to essential if you aim to be a great programmer.
Here are further resources on design patterns:
Rule #4 of programming:
Use design patterns when appropriate.