Design Patterns Daniel McClain
Background What are they? Way of recording solutions to recurring design problems History “A Pattern Language: Towns, Buildings, Construction” by Christopher Alexander Gang of Four wrote the book “Object-Oriented Design Patterns”
Benefits of Design Patterns Creates a higher level of abstraction Facilitates communication when designing a software system Provide good practices for making software reusable Allows for better documentation Improves maintenance by clearly defining software “hinges” Allows new programmers to more easily grasp new design concepts and practices
Difficulties Using Design Patterns Still require experience and practice to use effectively Take time and experience to record new patterns Don’t deal well with cross-cutting concerns
Further Reading “A Pattern Language: Towns, Buildings, Construction” by Christopher Alexander “Object-oriented Design Patterns” by Gamma, Helm, Johnson, and Vlissides