{"title":"MVVM和MVC GUI驱动应用程序架构对可维护性和可测试性影响的实证评估和比较","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":"{\"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}","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}
An Empirical Evaluation and Comparison of the Impact of MVVM and MVC GUI Driven Application Architectures on Maintainability and Testability
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.