• DocumentCode
    149416
  • Title

    A Journey through the Land of Model-View-Design Patterns

  • Author

    Syromiatnikov, Artem ; Weyns, Danny

  • Author_Institution
    Dept. of Comput. Sci., Linnaeus Univ. Vaxjo, Vaxjo, Sweden
  • fYear
    2014
  • fDate
    7-11 April 2014
  • Firstpage
    21
  • Lastpage
    30
  • Abstract
    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 paper 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.
  • Keywords
    software engineering; user interfaces; MV patterns; MVC; MVP; MVVM; application domain logic; application state; model-view-controller; model-view-design patterns; model-view-presenter; model-view-view model; pattern selection; software program; user interaction control; user interface; Collaboration; Data models; Observers; Rendering (computer graphics); Software; Synchronization; User interfaces; Design pattern; MVC; MVP; MVVM; User interface; controller; model; view;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Architecture (WICSA), 2014 IEEE/IFIP Conference on
  • Conference_Location
    Sydney, NSW
  • Type

    conf

  • DOI
    10.1109/WICSA.2014.13
  • Filename
    6827095