O documento descreve e compara três padrões de arquitetura de software: MVC, MVP e MVVM. O MVC divide uma aplicação em três camadas separadas - Model, View e Controller. O MVP é semelhante ao MVC mas com o Presenter separando a lógica da interface do usuário. O MVVM é usado principalmente para aplicações WPF/Silverlight e usa binding entre a View e ViewModel para atualizar a interface.