Sunday 21 December 2014

Introduction to WPF with PRISM

What is Prism

Prism provides guidance designed to help you more easily design and build rich, flexible, and easily maintained Windows Presentation Foundation (WPF) desktop applications, Silverlight Rich Internet Applications (RIAs), and Windows Phone 7 applications. Using design patterns that embody important architectural design principles, such as separation of concerns and loose coupling, Prism helps you to design and build applications using loosely coupled components that can evolve independently but which can be easily and seamlessly integrated into the overall application. These types of applications are known as composite applications.

The guidance is designed to help architects and developers achieve the following objectives:
  • Create an application from modules that can be built, assembled and, optionally, deployed by independent teams using WPF or Silverlight.
  • Minimize cross-team dependencies and allow teams to specialize in different areas, such as user interface (UI) design, business logic implementation, and infrastructure code development.
  • Use an architecture that promotes re-usability across independent teams.
  • Increase the quality of applications by abstracting common services that are available to all the teams.
  • Incrementally integrate new capabilities. 

Basic of Prism Framework

PRISM is a framework for developing composite application. It helps to develop a complex application breaking it down into smaller and manageable pieces. Is specific for WPF, Silverlight and windows Phone 7. 
This framework is based on design patterns that promotes loose coupling and separation of concerns.  
 In this article I'll show a  brief introduction to the essential parts or components used in every PRISM application.

 Why to use it ?

  • Reuse: you can use the modules in more than 2 application, and use it in WPF and Silverlight. (cross-platform).
  • Extensibility 
  • Flexibility
  • Supports Team Development: designers working on the UI, different teams working on different modules.  
  • Quality of code: is increased because it allows to test services and components

 In the next article i will show use how to use prism programmatically in WPF

Happy Programming!!
Don’t forget to leave your feedback and comments below!
If you have any query mail me to     
Sujeet Bhujbal