Table of Contents
Fetching ...

MVVM Revisited: Exploring Design Variants of the Model-View-ViewModel Pattern

Mario Fuksa, Sandro Speth, Steffen Becker

TL;DR

This paper addresses the lack of comprehensive guidance for MVVM design variants in enterprise GUIs by performing a multivocal literature review that aggregates both white and gray literature. It identifies 76 design constructs organized into 29 design aspects across 11 topics, plus 16 benefits and 15 drawbacks that extend beyond the standard MVVM definition. The authors provide a structured taxonomy of MVVM variants (including ViewModel abstractions, navigation patterns, and other design aspects) and offer a replication package detailing the search, classification, and synthesis processes. Practically, the work supplies developers with a catalog and decision-support framework to tailor MVVM implementations to specific project needs, while guiding researchers toward formalization and empirical validation of design variants.

Abstract

Many enterprise software systems provide complex Graphical User Interfaces (GUIs) that need robust architectural patterns for well-structured software design. However, popular GUI architectural patterns like Model-View-ViewModel (MVVM) often lack detailed implementation guidance, leading GUI developers to inappropriately use the pattern without a comprehensive overview of design variants and often-mentioned trade-offs. Therefore, this paper presents an extensive review of MVVM design aspects and trade-offs, extending beyond the standard MVVM definition. We conducted a multivocal literature review (MLR), including white and gray literature, to cover essential knowledge from blogs, published papers, and other unpublished formats like books. Using the standard MVVM definition as a baseline, our study identifies (1) 76 additional design constructs grouped into 29 design aspects and (2) 16 additional benefits and 15 additional drawbacks. These insights can guide enterprise application developers in implementing practical MVVM solutions and enable informed design decisions.

MVVM Revisited: Exploring Design Variants of the Model-View-ViewModel Pattern

TL;DR

This paper addresses the lack of comprehensive guidance for MVVM design variants in enterprise GUIs by performing a multivocal literature review that aggregates both white and gray literature. It identifies 76 design constructs organized into 29 design aspects across 11 topics, plus 16 benefits and 15 drawbacks that extend beyond the standard MVVM definition. The authors provide a structured taxonomy of MVVM variants (including ViewModel abstractions, navigation patterns, and other design aspects) and offer a replication package detailing the search, classification, and synthesis processes. Practically, the work supplies developers with a catalog and decision-support framework to tailor MVVM implementations to specific project needs, while guiding researchers toward formalization and empirical validation of design variants.

Abstract

Many enterprise software systems provide complex Graphical User Interfaces (GUIs) that need robust architectural patterns for well-structured software design. However, popular GUI architectural patterns like Model-View-ViewModel (MVVM) often lack detailed implementation guidance, leading GUI developers to inappropriately use the pattern without a comprehensive overview of design variants and often-mentioned trade-offs. Therefore, this paper presents an extensive review of MVVM design aspects and trade-offs, extending beyond the standard MVVM definition. We conducted a multivocal literature review (MLR), including white and gray literature, to cover essential knowledge from blogs, published papers, and other unpublished formats like books. Using the standard MVVM definition as a baseline, our study identifies (1) 76 additional design constructs grouped into 29 design aspects and (2) 16 additional benefits and 15 additional drawbacks. These insights can guide enterprise application developers in implementing practical MVVM solutions and enable informed design decisions.

Paper Structure

This paper contains 11 sections, 6 figures, 2 tables.

Figures (6)

  • Figure 1: The Standard Model-View-ViewModel Architectural Pattern.
  • Figure 2: Overview of the Applied Multivocal Literature Review (based on Garousi mvlr_garousi2019).
  • Figure 3: Distribution of 76 Design Constructs Grouped into Topics.
  • Figure 4: Design Constructs Hierarchy: Topic $\supset$ Aspect $\supset$ Construct.
  • Figure 5: Reusable ViewModel vs. Humble View.
  • ...and 1 more figures