This lecture presents the key concepts related to pattern-based design. Effective design pattern solves a problem and provides the solution (not principles/strategies). It has proven track record based on proven concept and the solution is not obvious (indirect solution). It describes a relationship between different system components and provides mechanisms for such relationship. | Pattern-Based Design SEII-Lecture 13 Dr. Muzafar Khan Assistant Professor Department of Computer Science CIIT, Islamabad. 1 Recap Interface analysis User analysis, task analysis and modeling, analysis of display content and work environment Interface design steps Design issues System response time, user help facilities, error information handling, menu and command labeling, application accessibility, internationalization Web application design interface guidelines Anticipation, communication, consistency, controlled autonomy, efficiency, flexibility, focus, Fitt’s law, learnability, readability, metaphors Design Evaluation 2 Design Patterns “Each pattern describes a problem that occurs over and over again in our environment and then describes the core of the solution to that problem in such a way that you can use the solution a million times over without ever doing it the same way twice.” [C. Alexander] Context, problem, and solution Reuse rather than reinventing the wheel 3 Effective Design Pattern Coplien (2005) It solves a problem Solution, not principles/strategies It is a proven concept Proven track record, not theories The solution is not obvious Indirect solution It describes a relationship Deeper system structures / mechanisms It has a significant human component Aesthetic and utility 4 Types of Patterns [1/2] Architecture patterns Structure related Examples: pipes and filters, adapter, proxy, bridge Data patterns Data related Examples: data replication, master-master replication Component / design patterns Subsystems related Examples: Add another, build an expression, slide down Interface design patterns User interface related Examples: breadcrumb, card stack, wizard, simple search Webapp patterns Webapp related Examples: advanced search, search area, search tips 5 Types of Patterns [2/2] Object-oriented patterns Creational patterns Creation, composition, and representation Examples: singleton, factory, builder, absract factory Structural patterns . | Pattern-Based Design SEII-Lecture 13 Dr. Muzafar Khan Assistant Professor Department of Computer Science CIIT, Islamabad. 1 Recap Interface analysis User analysis, task analysis and modeling, analysis of display content and work environment Interface design steps Design issues System response time, user help facilities, error information handling, menu and command labeling, application accessibility, internationalization Web application design interface guidelines Anticipation, communication, consistency, controlled autonomy, efficiency, flexibility, focus, Fitt’s law, learnability, readability, metaphors Design Evaluation 2 Design Patterns “Each pattern describes a problem that occurs over and over again in our environment and then describes the core of the solution to that problem in such a way that you can use the solution a million times over without ever doing it the same way twice.” [C. Alexander] Context, problem, and solution Reuse rather than reinventing the wheel 3 Effective