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

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, Lauri

Thesis advisor

Westerling, Jörgen

Keywords

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

Other note

Citation