Chapter 4 Design Patterns
A design pattern is a solution to a problem or class of problems that can be reused over and over. Problems that are similar in nature frequently exhibit recognizable patterns. Experienced software designers learn to recognize these patterns and are able to draw on past experience to reuse old designs to solve new problems. The book Design Patterns: Elements of Reusable Object-Oriented Software (by Gamma et al.) identifies and documents many common design patterns and has become a classic software engineering textbook. The SFL Patterns package provides support for several commonly used design patterns.