Unveiling Design Patterns: Principles and Applications
Explore the concept of design patterns, named problem/solution pairs, to aid designers in various situations. Learn fundamental principles of object design, including GRASP patterns. Discover key design concepts like low coupling, high cohesion, and polymorphism.
Unveiling Design Patterns: Principles and Applications
E N D
Presentation Transcript
Patterns • idea was first put forth by Christopher Alexander (1977) in his work on architectural design principles • a pattern is a named problem/solution pair that can be applied in new contexts • advice from previous designers to help designers in new situations • rules of thumb - not new ideas • Design Patterns - Erich Gamma et al 1995 • Ch 26: Adapter, Factory, Singleton, Façade, Strategy, Composite, Decorator, Observer • Ch 35: Proxy, Abstract Factory • Ch 38: Template Method, State ACS-3913 Ron McFadyen
Guiding principles to help us assign responsibilities GRASP: General Responsibility Assignment Software Patterns fundamental, simple, basic principles of object design. Developed by Craig Larman GRASP Patterns Fundamental Principles of Object Design ACS-3913 Ron McFadyen
Expert Creator Controller Low Coupling High Cohesion Polymorphism Pure fabrication Indirection Protected variations GRASP Patterns ACS-3913 Ron McFadyen