"Do you know patterns?" This question often comes up in the context of employment interviews, technical exchanges, and other situations in which people want to find out how much a person knows about the state of the art. On the surface this is a reasonable question; patterns capture important knowledge about how to build systems. The question that one rarely hears is, "Do you know how to use patterns?" Patterns taken one at a time can require some skill to apply effectively. Blindly applying patterns can be counterproductive. A common complaint is that new readers of Design Patterns [5] start applying patterns everywhere without much thought about why it might make sense. Rather than leading to better code, this approach leads to a mess. To fully provide benefit, the patterns need to be part of a pattern language that helps you to understand the context of each pattern.
展开▼