Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
You decided to use the Model-View-Controller (MVC) pattern to separate the user interface components of your dynamic Web application from the business logic. The application you are building constructs the Web pages dynamically, but the navigation between the pages is mostly static.
How do you best structure the controller for moderately complex Web applications so that you can achieve reuse and flexibility while avoiding code duplication?