O'Reilly logo

Expert Access™ 2007 Programming by Michael Tucker, Rob Cooper

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Appendix C. Pattern Reference

Throughout this book, we have presented code that you can re-use in many applications. The decision about whether to create a library for some of this code may be personal in some instances and practical in others, but the fact is that by re-using code you can save yourself quite a bit of time. Code that you re-use has the benefits of being well-tested and proven, and likely very efficient.

In this appendix, we discuss patterns and consolidate some of them into a single location that you can use to quickly find information. We'll do this by:

  • Introducing patterns

  • Calling out the patterns that we've used in this book

  • Providing pointers about where you can find more patterns

Introducing Patterns

Patterns as a means for describing a particular problem space were first introduced in architecture by an architect named Christopher Alexander. Although initially described to address ways to solve problems in physical architecture, Alexander's work has been tailored into other fields such as software development. Patterns provide a formalized mechanism for describing the problem, including the intent of the pattern, and how it solves the problem in question.

What Is a Pattern

As with architecture, a pattern in software development is an approach to solving a particular problem. The pattern isn't necessarily prescriptive — in many cases it provides only a guideline for solving a problem as there is often more than one way to solve it. What the pattern provides, however, ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required