O'Reilly logo

Professional Silverlight® 4 by Bill Evjen, Jason Beres, Devin Rader

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Chapter 12. Application Architecture

WHAT'S IN THIS CHAPTER?

  • Understanding design patterns and principles

  • Working with the Model View ViewModel pattern

  • Exploring Silverlight frameworks (MEF and PRISM)

  • Defining a data access strategy

  • Designing with performance in mind

When architecting your Silverlight application you need to keep in mind the functional and non-functional requirements.

  • Functional requirements include navigation, workflow, and security.

  • Non-functional requirements include number of concurrent users, performance, scalability, maintainability, and reliability.

Whether your application is configured to run as a web browser plug-in or installed on an end-user machine (out-of-browser application), you need to understand the tradeoffs involved in and best practices for designing an n-tier application. Addressing these functional and non-functional requirements is no small task. A solution that increases performance may impact scalability or the maintainability of your application. Fortunately, n-tier application design is not new and several well-documented approaches exist to address functional and non-functional requirements.

The most proven approach for architecting n-tier application is to focus on building loosely coupled components. Each component is focused on a single or small set of responsibilities (features). This approach increases the maintainability of your application and allows you to easily address performance/scalability issues that might come up. For example, if ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required