Making the Obvious Profound Abstract From Feigenbaum's Turing Award lecture to musings on Big Blue's victory, we hear the importance of knowledge. We are told that experts depend more on a storehouse of specialized knowledge than on complex reasoning processes. Much of this knowledge seems obvious to the expert, but it leads to profound results. These are important questions to software designers, but little progress has been made on discovering this knowledge and writing it down.
Patterns are a way of documenting design knowledge.
Patterns make it easier to talk about designs, to evaluate tradeoffs, to understand existing designs, and to solve particular problems. They help train designers, help document complex systems, and help designers think and communicate. Better yet, patterns are a scheme to get people to document the knowledge that seems obvious to them, but profound to others.