This document discusses the Model-View-Controller (MVC) design pattern and how it is implemented in web application frameworks. It begins by describing the basic components of MVC - the model, view, and controller. It then provides an example of how MVC can be implemented for a web application that searches an employee directory. The example discusses different ways the application could be partitioned between the client and server. It argues that a "dual-MVC" approach, with one controller on the client and one on the server, provides the best performance. The document concludes by discussing how web applications can be developed using MVC in a way that allows flexible partitioning without changing code.