13
Design Patterns
•Design patterns are descriptions of communicating objects and classes that occur in many systems and that are customized to solve a general design problem in a particular context
•Design patterns are “reusable micro-architectures that contribute to an overall system architecture” that provide a common vocabulary for design
•Design patterns systematically name, motivate, and explain a general design that addresses a recurring design problem in object-oriented systems. They describe the problem, the solution, when to apply the solution, and its consequences. They also give implementation hints and examples. The solution is a general arrangement of objects and classes that solve the problem. The solution is customized and implemented to solve the problem in a particular context