I just published the second part on the tutorials about design patterns for video games. This time I talk about the Observer.
This pattern defines a one to many dependency between objects so that when object changes state, all its dependents are notified and updated automatically. You can use this pattern for collision detection.
More information can be found here