Applying traditional architectural patterns to Windows Presentation Foundation: An architectural review
No Thumbnail Available
URL
Journal Title
Journal ISSN
Volume Title
Helsinki University of Technology |
Diplomityö
Checking the digitized thesis and permission for publishing
Instructions for the author
Instructions for the author
Authors
Date
2009
Major/Subject
Ohjelmistotekniikka
Mcode
T-106
Degree programme
Tietotekniikan tutkinto-ohjelma
Language
en
Pages
92 (+11)
Series
Abstract
Windows Presentation Foundation (WPF) is the new graphical subsystem of the Microsoft .NET Framework. The underlying concepts, as well as the programming model, are quite different from previous Microsoft technologies, and best practices and suitable architectures are still evolving. This thesis evaluates the applicability of traditional view-oriented design patterns to WPF. A strategy for communicating pattern information to developers is also devised. The patterns being evaluated are Model-View-Controller, Model-View-Presenter, Presentation-Abstraction-Control, and the variations Presentation Model, Supervising Controller, and Passive View. Two patterns that are specifically conceived for WPF, Model-View-ViewModel and DataModel-View-ViewModel, are also included and compared to the traditional patterns. The patterns are evaluated in a series of interviews with software architects, resulting in Model-View-ViewModel (MVVM) being deemed as the most suitable pattern for achieving maintainability in WPF applications. The conclusion is tested by implementing a part of a real-world application using MVVM, and performing a code review on the implementation. The code review confirms that MVVM is one of the most suitable patterns for WPF applications. Four variants of MVVM taking on characteristics of the traditional patterns are identified. A survey together with the interviews concludes that to communicate a pattern to developers, a short text describing the pattern, together with a reference implementation and simple diagrams are needed. An introductory interactive presentation session and the concept of a pattern mentor are also suggested.Description
Supervisor
Malmi, LauriThesis advisor
Westerling, JörgenKeywords
Windows Presentation Foundation, Windows Presentation Foundation, WPF, WPF, design patterns, designmönster, software architecture, mjukvaruarkitektur, Model-View-ViewModel, Model-View-ViewModel, MVVM, MVVM, MVC, MVC, MVP, MVP, PAC, PAC