Compound Patterns Overview
A compound pattern is a coarse-grained pattern comprised of a set of finer-grained patterns. Singled out in this catalog are some of the more common and important combinations of the patterns, each of which is classified as a compound design pattern.
When a pattern is classified as a “compound,” it is important to note that just about any pattern can turn out to be a compound pattern. Every one of the other patterns described in BDSCP courses can be decomposed into a set of more granular patterns. Their combination then results in the original pattern, thereby also making it a compound pattern.
The reason this perspective is important is because whether or not a pattern is labeled as being a compound pattern is always relative. It is just a matter of the granularity at which the pattern is documented in relation to other patterns in the same catalog. Note also that compound patterns can be nested.
The compound patterns referenced in BDSCP courses are classified as such because they relate to recognizable models, environments, and technology-sets in the contemporary Big Data industry. In a different context, these patterns could be classified differently. The rectangle symbols used to represent design patterns are further distinguished with an asterisk in the bottom right corner when they represent compound patterns.
It is furthermore important to clarify how patterns can be combined into compounds. A compound pattern can represent a set of patterns that are applied together to a particular program or implementation in order to establish a specific set of design characteristics. This would be referred to as joint application. Alternatively, the member patterns that comprise a compound pattern can represent a set of related features provided by a particular program or environment. In this case, a coexistent application of patterns establishes a “solution environment” that may be realized by a combination of tools and technologies.
The following compound patterns are defined: