Prism is a Framework for developing Composite or Complex applications specific to WPF or Silverlight or Windows Phone.
It uses modularity; It allows to break application into pieces can be called as Modules.
It uses design patterns like MVVM, Command Patterns, Dependency Injection (DI), and Inversion of Control (IC), Separation of Concerns to achieve loosely coupling.
Advantages
Reusability: It allows building component in one framework (WPF) and reusing it in other platforms (Silverlight).
Extensibility: Due to its design patterns nature new functionality that is to be added is easily extensible for future purpose.
Flexibility: PRISM is flexible to develop large complex applications
Team Collaboration: Simultaneous module development is possible and Multiple teams can work on different modules simultaneously.
Fault Tolerance : It allows components to be thoroughly and completely tested thus results in error free application development of better quality.
Maintainability: The large scale complex applications developed using PRISM are maintenance friendly
Modularity: As everything is break down into modules, prism supports modularity due to this PRISM is flexible, extensible .
Components of PRISM
- Shell : Template that Defines structure of the UI. Shell contains several regions.
- Regions: Regions are used to specify specific portion of shell as elements to inject view at runtime
- Modules: These are major functional areas of the application. Each module need to be independent of other,
- Views: Modules contains number of views. Views in Prism are built using MVVM design pattern.
- Boot-Strapper: This component is Responsible for Creating Shell and initializing application.
Well. Now I got some basic idea of the PRISM How to get it ?
You can download the prism framework from patterns and practices
In my next article I will explain how to install PRISM and use in the real time applications.