🤖 AI Summary
In enterprise-grade GUI development, the Model-View-ViewModel (MVVM) pattern is frequently misapplied due to insufficient guidance on implementation details and architectural trade-offs.
Method: This study conducts a multi-vocal literature review (MLR), systematically synthesizing academic papers, technical blogs, and monographs (i.e., white and gray literature) to comprehensively analyze MVVM practice.
Contribution/Results: We identify and formalize 76 novel design constructs spanning 29 dimensions—extending beyond MVVM’s traditional monolithic definition—and explicitly characterize 16 new benefits and 15 new drawbacks. Based on this analysis, we construct an actionable MVVM design knowledge graph and a structured, context-sensitive guideline to support robust architectural decision-making. Empirical validation demonstrates that our framework significantly enhances maintainability and evolvability of complex GUI systems.
📝 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.