Model-View-Controller ("MVC") is the Blue Prints recommended architectural design pattern for interactive applications (from http://java.sun.com/blueprints/guidelines/designing_enterprise_applications_2e/web-tier/web-tier5.html). For those unfamiliar with Model, View, Controller. The Model is the representation of the thing the user is trying to interact with. It typically holds the data and business rules. The View pulls information from the Model and renders that information in a way the user will understand. The Controller interprets actions by the user, usually mouse and keyboard events, and sends the information to the model or the view. The model knows nothing about the view or the controller other than that they exist. The view and the controller know as much as possible about the model. The advantage to this type of architecture is that the view and the controller may be changed without affecting the the model. For web applications that need to render themselves on various browsers and devices this is an ideal architecture that allows the application to be written originally for a desktop browser and later written for a PDA by changing only the view layer (from http://www.dmbcllc.com/asp_mvc.aspx).