Design Patterns
Duration: 5 days
This class covers the book "Design Patterns" by Gamma,
Helm, Johnson, and Vlissides. We review the patterns in the catalog and
look at how they are used in applications. This class is designed for people
who have already taken Object Oriented Analysis and Design, or have experience
developing Object Oriented applications.
Class Outline
Module 1
- Patterns & the patterns community
- Introduction to the catalog
- Overview of UML notation
Module 2
Creating an interpreter with tools. Patterns used:
- Parser
- Strategy
- Lexical Analyzer
- Composite
- Interpreter
Module 3
Complete the interpreter example. Patterns used:
The Tools - code generator, pretty printer, metrics
Module 4
Transaction Processing example. Patterns used:
Module 5
Setting preferences on a user interface. Patterns used:
- Abstract Factory
- Singleton
- Factory Method
Module 6
Support of many models of a hardware component. Patterns
used:
Synchronizing a set of machines. Patterns used:
Module 7
Data compression. Patterns used:
Design a set of interchangeable graphics tools. Patterns
used:
Context sensitive help. Patterns used:
Module 8
Chemical analysis process. Patterns used:
Timer triggering a command. Patterns used:
Review of all patterns
Module 9
Sample Patterns in Java
- Interfaces
- Abstract Classes
- Factories
Larger example - Automated Cookie Maker
Module 10
Design Issues and Patterns
- refactoring
- finding appropriate objects
- determining object granularity
- specifying object interfaces
- specifying object implementations
- putting reuse mechanisms to work
- designing for change
Industry experience with design patterns - Coplien,
et. Al.
Required Text: Design Patterns, Gamma,
Helm, Johnson, Vlissides, Addison Wesley, ISBN 0-201-63361-2
Prerequisite: Object Oriented Analysis and
Object Oriented Software Architecture and Design