O'Reilly logo

Pattern Oriented Software Architecture Volume 5: On Patterns and Pattern Languages by Douglas C. Schmidt, Kevlin Henney, Frank Buschmann

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

1 A Solution to a Problem and More

Philosophy, if it cannot answer so many questions as wecould wish, has at least the power of asking questionswhich increase the interest of the world, and show thestrangeness and wonder lying just below the surfaceeven in the commonest things of daily life.

Bertrand Russell

In this chapter we take a simple problem–solution pairing and use gradual and reasoned steps to expand and refine it into a description that more obviously qualifies as a pattern description. En route we examine the different facets that a pattern embodies and that its description should contain. Our incremental approach also illustrates the iterative nature of pattern writing. The use of feedback, reflection, growth, and refinement is a normal part of the pattern-writing process, not simply an artifact of how we have chosen to illustrate the facets that comprise a sound pattern description.

1.1 A Solution to a Problem

If asked for a one-sentence characterization of what a pattern is, many pattern-aware software developers might respond with something like:

‘A pattern is a solution to a problem that arises within a specific context.’

This seems a fair summary at first glance. It is certainly not a false one, although it may not cover the whole truth. The truth of the summary is supported by looking around at the common patterns in use today: they provide working, concrete, and adaptable solutions to problems that repeatedly arise in certain situations during software development, ...

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