16
Benefits of Patterns
•Patterns provide a common language for discussing system design
•Studies of expert programmers have shown that knowledge and experience isn’t organized simply around syntax but in larger conceptual structures such a algorithms, data structures, and programming idioms.  We have names and catalogs for algorithms and data structures but not other kinds of patterns
•Defining patterns lets us talk at higher levels of abstraction.  This higher level enables us to more easily communicate, document, and explore alternatives