Book Image

Mastering LOB Development for Silverlight 5: A Case Study in Action

Book Image

Mastering LOB Development for Silverlight 5: A Case Study in Action

Overview of this book

Microsoft Silverlight is fully established as a powerful tool for creating and delivering Rich Internet Applications and media experiences on the Web. This book will help you dive straight into utilizing Silverlight 5, which now more than ever is a top choice in the Enterprise for building Business Applications. "Mastering LOB Development for Silverlight 5: A Case Study in Action" focuses on the development of a complete Silverlight 5 LOB application, helping you to take advantage of the powerful features available along with expert advice. Fully focused on LOB development, this expert guide takes you from the beginning of designing and implementing a Silverlight 5 LOB application, all the way through to completion. Accompanied by a gradually built upon case study, you will learn about data access via RIA and Web services, architecture with MEF and MVVM applied to LOB development, testing and error control, and much more.With "Mastering LOB Development for Silverlight 5: A Case Study in Action" in hand, you will be fully equipped to expertly develop your own Silverlight Line of Business application, without dwelling on the basics of Enterprise Silverlight development.
Table of Contents (19 chapters)
Mastering LOB Development for Silverlight 5: A Case Study in Action
Credits
Foreword
About the Authors
About the Reviewers
www.PacktPub.com
Preface
Index

MVVM pattern


Model View ViewModel (MVVM) is an architectural pattern inspired by the Presentation Model design pattern designed by Martin Fowler (one of the greatest experts in the agile software development and object-oriented programming). It is the de facto standard for Silverlight and WPF. So why choose this pattern and not a different one? The answer is because it naturally adapts to the data binding mechanism of Silverlight, allowing us to explore all its capacities.

Let us begin by dissecting the pattern, where we can find the following layers:

  • Presentation: It defines the UI layout. The Code-Behind of every page only needs to contain code in charge of managing certain aspects of the UI.

  • ViewModel: It stores the state of the application and defines operations and notifications to the Presentation layer.

  • Data Model: It interacts with services and defines business rules.

How do these layers interact with each other? Let's take a look at the following figure:

Let's take a look at how...