Return to search

A Journey Through the Land of Model-View-* Design Patterns

Every software program that interacts with a user requires a user interface. Model-View-Controller (MVC) is a common design pattern to integrate a user interface with the application domain logic. MVC separates the representation of the application domain (Model) from the display of the application's state (View) and user interaction control (Controller). However, studying the literature reveals that a variety of other related patterns exists, which we denote with Model-View-* (MV*) design patterns. This thesis discusses existing MV* patterns classified in three main families: Model-View-Controller (MVC), Model-View-View Model (MVVM), and Model-View-Presenter (MVP). We take a practitioners' point of view and emphasize the essentials of each family as well as the differences. The study shows that the selection of patterns should take into account the use cases and quality requirements at hand, and chosen technology. We illustrate the selection of a pattern with an example of our practice. The study results aim to bring more clarity in the variety of MV* design patterns and help practitioners to make better grounded decisions when selecting patterns.

Identiferoai:union.ndltd.org:UPSALLA1/oai:DiVA.org:lnu-36398
Date January 2014
CreatorsSyromiatnikov, Artem
PublisherLinnéuniversitetet, Institutionen för datavetenskap (DV)
Source SetsDiVA Archive at Upsalla University
LanguageEnglish
Detected LanguageEnglish
TypeStudent thesis, info:eu-repo/semantics/bachelorThesis, text
Formatapplication/pdf
Rightsinfo:eu-repo/semantics/openAccess

Page generated in 0.0015 seconds