Skip to main content

Posts

Showing posts with the label WPF

Unity vs MEF in Prism

Prism offering two injection containers named Unity and MEF. Both the containers have their own capabilities. Before choosing the container decide your environment needs. Some of the capabilities provided by both ( Unity & MEF ) containers include the following: Both register types with the container. Both register instances with the container. Both imperatively create instances of registered types. Both inject instances of registered types into constructors. Both inject instances of registered types into properties. Both have declarative attributes for marking types and dependencies that need to be managed. Both resolve dependencies in an object graph. Unity provides several capabilities that MEF does not: Unity resolves concrete types without registration. Unity resolves open generics. Unity uses interception to capture calls to objects and add additional functionality to the target object. MEF provides several capabilities that Unity does not: MEF discovers assemblies in a dir...

Advantages of Prism

Reusability : Prism allows building component in one framework (WPF) and reusing it in other platforms (Silverlight, Windows Phone). Project architecture should design in such a way. Modularity : As everything is break down into modules, Prism supports modularity due to this PRISM is flexible, extensible . Extensibility : Due to Prism design patterns nature new functionality that is to be added is easily extensible for future purpose. Maintainability : The large scale complex applications developed using Prism are maintenance friendly. 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.  

What is Prism?

Prism is a framework or the set of guidelines which is used to develop  Composite or Complex applications specific to WPF , Silverlight or Windows Phone .   It's a kind of Design Pattern to develop XAML based applications.  Prism mainly helps to design the Loosely Coupled components which can be easily integrated with other components of the application. It uses modularity and allows to break application into pieces can be called as Modules.   Prism uses design patterns like MVVM , Command Pattern , Dependency Injection (DI) and Inversion of Control (IoC) and Separation of Concerns to achieve Loosely Coupling. Prism has the following advantages over other frameworks. Reusability, Extensibility, Flexibility, Team Collaboration, Fault Tolerance, Maintainability and Modularity. Prism has 5 main components: 1) Shell: Template that Defines structure of the UI. Shell can contains several regions. 2) Regions: Regions are used to specify specific portion of shell as ...