As it turns out, designing and implementing this wizard framework exposes
many of the real-world design and programming issues we face when creating
Java applications.
Overview
The first step in designing our wizard class is to come up with an interface.
An interface is a prototype for a class in which we describe the class'
functionality without getting into implementation details. When designing an
interface, think about how someone would use the class and jot down some
pseudo-code. Translate these ideas into member functions to create the
interface. One thing to remember is that the initial pass at an interface
will rarely be the last. You will probably end up modifying and improving the
interface several times during the course of development.
Since there are several different ways we could go about designing our wizard
interface and corresponding implementation... (more)