Assignment 7 - Design Patterns
- Pick a design pattern from the Gamma et al. book. A list of the book's
patterns is given below. Certain patterns are not eligible for
presentation; they are indicated by the use of a strikethrough
highlight on their name. Let me know your team members and at least
three ranked choices (first-come,
first-served).
- Devise a practical situation
(problem context) for which your pattern
would be a solution. Make the situation you choose familiar but
different from the one in the book.
- Prepare a short (six page)
report that covers the following items.
- Present the problem context
by way of your chosen situation
- Present your pattern both
structurally (using a class model) and behaviorally
(using either a message sequence chart or a collaboration diagram)
- Generalize your example to
describe the kind of situations in which
your pattern would apply
- Discuss implementation choices/issues that arise with
the pattern. Use your example to illustrate the issues
- Turn in (attach to the Swiki)
your report.
- Prepare a seven-minute presentation, covering the above
items, to be given in class.
- You should work in teams of four students for this
assignment.
Notes
- Some patterns have evolved
since the original publication of the book. Make sure to look into more
modern variations and extensions and include them in your report.
- Patterns not found in
the Gang
of Four book may be acceptable
if you clear them with me first.
Patterns listed in the Gang of Four
book: Abstract Factory, Builder, Factory Method, Prototype,
Singleton, Adapter,
Bridge, Composite,
Decorator, Facade, Flyweight, Proxy, Chain of
Responsibility,
Command,
Interpreter, Iterator,
Mediator, Memento, Observer, State,
Strategy,
Template Method, Visitor