Do you reinvent the wheel each time you write code? Do you have to re-learn how to iterate through an array every time you write a program? Do you have to re-invent how to fix a dangling else in every function you write? Do you need to relearn insertion sort or binary search every time you want to use them? Of course not!


Design Pattern Observer Pattern Strategy Pattern Public Class Iterator Pattern 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. Alexander, C., S. Ishikawa, et al. A Pattern Language: Towns, Buildings, Construction. (Oxford, UK: Oxford University Press, 1977.)Google Scholar
  2. Freeman, E. and E. Freeman Head First Design Patterns. (Sebastopol, CA: O’Reilly Media, Inc., 2004.)Google Scholar
  3. Gamma, E., Helm, R., Johnson, R., Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. (Boston, MA: Addison-Wesley, 1995.)Google Scholar
  4. Krasner, G. E. and S. T. Pope. “A cookbook for using the Model-View-Controller user interface paradigm in Smalltalk-80.” Journal of Object-Oriented Programming 1(3): 26–49. 1988.Google Scholar
  5. Lieberherr, K., I. Holland, et al. Object-Oriented Programming: An Objective Sense of Style. OOPSLA’ 88, Association for Computing Machinery, 1988.Google Scholar
  6. Martin, R. C. Agile Software Development: Principles, Patterns, and Practices. (Upper Saddle River, NJ: Prentice Hall, 2003.)Google Scholar

Copyright information

© John Dooley 2011

Authors and Affiliations

  • John Dooley

There are no affiliations available

Personalised recommendations