It is common for software engineers to come across the same problem several times resulting in a deja-vu effect. The reason being that there are common problems that all Object-Oriented Software share. Design Patterns exist for exactly that reason. They a documented and established way of solving a problem.
Design Patterns
Design Patterns are nothing else than a documented way of solving a problem. As such, every patterns has a:
- name
- problem
- solution
- consequence