Best Practices in Java EE Web Development
All the evolution we know of proceeds from the vague to the definite.
—Charles Sanders Peirce
Every so often good solutions are invented. At times they are discovered. Invention and discovery are not synonyms,1 and they signify different objectives; however, both are realized through experience and expertise. Experience helps you achieve good solutions, and when you apply those good solutions to the same set of problems, patterns begin to emerge. Patterns are the catalog of good solutions that stem from the experience and expertise of developers.
An architect named Christopher Alexander observed that architects tend to solve the same problems in more or less the same way. This realization ...