{"title":"An Empirical Evaluation and Comparison of the Impact of MVVM and MVC GUI Driven Application Architectures on Maintainability and Testability","authors":"Amy Wilson, Fadi Wedyan, Safwan Omari","doi":"10.1109/IDSTA55301.2022.9923083","DOIUrl":null,"url":null,"abstract":"Model View Controller (MVC) and Main-View-ViewModel (MVVM) are two similar, but different, architectural frameworks that utilize differing sets of components to produce a graphical user interface driven application. The primary difference between these two architectures resides in MVC’s use of a controller, MVVM’s use of a viewmodel, and how these two components interact with their respective views. These differing usages are factors that effect how tightly coupled their layered systems are and effects the ability to test and maintain systems built using these architectures. This paper seeks to explain both frameworks, evaluate a sample code base, collect metrics, and then compare the testability and maintainability of both architectures.","PeriodicalId":268343,"journal":{"name":"2022 International Conference on Intelligent Data Science Technologies and Applications (IDSTA)","volume":"17 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2022-09-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2022 International Conference on Intelligent Data Science Technologies and Applications (IDSTA)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/IDSTA55301.2022.9923083","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
Model View Controller (MVC) and Main-View-ViewModel (MVVM) are two similar, but different, architectural frameworks that utilize differing sets of components to produce a graphical user interface driven application. The primary difference between these two architectures resides in MVC’s use of a controller, MVVM’s use of a viewmodel, and how these two components interact with their respective views. These differing usages are factors that effect how tightly coupled their layered systems are and effects the ability to test and maintain systems built using these architectures. This paper seeks to explain both frameworks, evaluate a sample code base, collect metrics, and then compare the testability and maintainability of both architectures.