No man is an island, entire of itself;every man is a piece of the continent, a part of the main.
Is it best to consider patterns as distinct islands of design, or as more naturally a part of an interwoven whole? In popular literature and usage they are often considered and applied separately. In this chapter we explore the consequences of taking this perspective to its logical conclusion with a simple design experiment. This experiment further reinforces the notion that design patterns define roles for structural parts, rather than just structural parts.
Many pattern authors and experienced pattern users profess that patterns rarely exist in isolation. Each pattern generally has relationships to other patterns. The interdependencies between these relationships become more apparent when patterns are applied consciously or mined from production software systems.
The Gang-of-Four book [GoF95], for example, includes a map that illustrates the dependencies among its twenty-three patterns. More detailed information about these dependencies is presented in the Related Patterns sections of the corresponding pattern descriptions. In A System of Patterns [POSA1] we also discussed the fact that a pattern may refine other patterns, may be a variant of another pattern, or may combine with other patterns. Every pattern included in the Pattern-Oriented Software Architecture series, regardless of which volume, explains which other patterns are ...