Here I wish to discuss what subPattern will best resolve the ending context of a specific Pattern. For example: After applying the FactoryPattern, the resulting context can be addressed by applying patternX -or- Before applying the SingletonPattern, you should apply patternX, patternY, or patternZ to eliminate unrequired usage of this pattern ---- As an example: * a containerPattern (such as an Array, Bag, CompositePattern, LinkedList, Record, or Table) may need to implement the following patterns: ** IteratorPattern for traversal of entries ** SingletonPattern for Unique entries and should be implemented at the container not the entry level. ** VisitorPattern ** HierarchicalVisitorPattern ** FacadePattern for containers holding similar entries. ** ProxyPattern for message dispatching to entries. -- WyattMatthews -- Comments Welcome Really that sounds rather like a PatternGraph as you can come from any end. Just think: What would happen if your factory was an element of another container this would lead you the other way around. I think the graph you mean is actually given inside the GOF book (at least partly). Very Possible. I have however, not been able to get my hands on the book itself and therefore have to rely on what I find on the web. But the impression I've gotten over the past few years is straight forward: people will adhere to the pattern for one or two levels but forget to complete the process down to the mythical perfect level, some don't even worry about applying patterns the second time.