Unformatted text preview: Design Patterns for Object-Oriented Development
Instructor: Ugo Buy CS Dept. University of Illinois at Chicago Objectives History and the relevance of design patterns Detailed coverage of some popular existing patterns Approach by the Gang of Four (Go4) --Gamma, Helm, Johnson and Vlissides Learn how to evaluate and apply design patterns Learn how to deGine new patterns Patterns for software architecture Not an exhaustive survey of design patterns February 16, 2012
1 2 Summary What is a design pattern? Main features of a pattern Review of OMT notation Class diagrams Object diagrams Interaction diagrams Characterization of patterns Components of a pattern according to Go4 Patterns as opposed to toolkits and frameworks 3 Summary (cont Creational patterns Structural patterns Behavioral patterns Graphical editor example application Lexi and its patterns d) Taxonomy of patterns according to Gang of four (Go4) Patterns for software architecture by Gang of Give (Go5) Architectural patterns Design patterns Idioms 4 Characterization Characterization Design Patterns A set of related classes and objects that address a speciGic object-oriented design issue or problem The Go4 Relevant Aspects of Patterns (Go5) 1. Context: Kind of situation in which a pattern can be applied Caveat: A good pattern can be used in a predictable and repeatable fashion Example: Software application with a graphical user interface 2. Problem: A design problem Requirements of the problem Constraints of the problem Desirable features of the solution Example: Design structures that represent text, graphics, and pictures appearing in an editor s document 5 6 Express relationships among objects andclasses in a pattern Specify attributes (variables) and operations (methods) of classes contained in pattern Support incomplete speciGication (important during software design) Already applied in several different design situations Characterization OMT notation Relevant Aspects of a Pattern (cont d) Notation Object Modeling Technique (OMT) Appendix B / Go4 book Three kinds of diagrams: 1. Class diagrams Classes and structural (e.g., inheritance) relationships among classes in an OO design 2. Object diagrams Run-time object structure 3. Interaction diagrams Flow of messages among objects 8 3. Solution: A set of deGinitions addressing the design problem in the given context Static aspects (class and object structure) Dynamic aspects (run-time behavior) An excellent deGinition (Go4 book, page 3) Description...
View Full Document
- Spring '12
- Object-Oriented Programming, Design pattern, Subroutine