Four Solutions
To illustrate the options available, this section
explores several ways to tackle this problem, presented in order of
increasing complexity.
Each solution has different strengths and weaknesses. In the real world, no two applications are identical; any one of these approaches may be more appropriate for one situation than for another.