UP | HOME
../../ | Slides

Design Patterns and Refactoring

Table of Contents

(The word "design" is used here as an abbreviation for Object Oriented Design.)

1 Design Patterns

  1. A design pattern is a solution template for problems of a certain pattern.
  2. A pattern codifies expert knowledge. Four essential elements:
    1. Pattern name: increases vocabulary of designers
    2. Problem: intent, context, when to apply
    3. Solution: UML-like structure, abstract code
    4. Consequences: results and tradeoffs

1.1 Design Patterns

  1. Examples of Pattern Names
    1. Abstract Factory | Factory Method | Singleton | Adapter |
    2. Flyweight | Bridge | Observer | Mediator | Strategy | Visitor |
  2. Design Patterns PDF Slides from UT Austin Dr Miryung Kim
  3. ./design-patterns-norvig-1996.pdf
  4. http://en.wikipedia.org/wiki/Software_design_pattern Required Visit/Reading the individual patterns also.
  5. http://www.tutorialspoint.com/design_pattern/

2 Broader Views

  1. Peter Norvig, Design Patterns in Dynamic Languages (slides), http://www.norvig.com/design-patterns/ (Dr Norvig is now (2013) Director of Research at Google.) Required Reading.
  2. http://www.paulgraham.com/icad.html "Revenge of the Nerds", Paul Graham, 2002. Required Reading.

3 References

  1. Several references embedded above.
  2. GoF ("Gang of Four"): Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides, "Design Patterns: Elements of Reusable Object-Oriented Software", First edition 1994. Highly Recommended.
  3. https://sourcemaking.com/ has most of the above materials presented well.

Copyright © 2015 www.wright.edu/~pmateti 2015-10-15