1. Presenter: Sergiy Beslik Prism - Composite Application Guidance for WPF and Silverlight
2. What is Composite Application? Composite Application consists of loosely coupled modules that can be developed independently, discovered at runtime and work together.
3. What is Prism? Prism is a set of guidance designed to help building composite UI applications with WPF and Silverlight.
4. What is Prism? Library Reference Implementation Guidelines Quick-Starts
6. Modules Unit of development Modules can be developed and tested independently by different teams. Unit of deployment Modules can be loaded on demand, minimizing application start-up time. Modules can be added or changed without re-building the whole application.
8. UI Composition Views from multiple modules are displayed at run time in specific locations within the application's UI. <TabControlRegionManager.RegionName= “MainContentRegion” /> Module A Module B <ItemsControlRegionManager.RegionName= “NavigationRegion">
9. View Discovery vs. View Injection Views can be instantiated automatically when region is displayed, or explicitly injected into region.
11. Events and Commands Delegate Command Implements delegate-based Command pattern Composite Command Implements multiple handlers command routing Event Aggregator Implements publishing and subscribing to loosely coupled events
12. Event Aggregator Event Aggregator is a mediator service that allows decoupling of publishers and subscribers. Module A Module B eventAggregator.GetEvent<MyEvent>().Subscribe(MyEventHandler, ThreadOption.UIThread, false, MyEventFilter); eventAggregator.GetEvent<MyEvent>().Publish(eventArgs)
13. Separate Presentation Patterns Model-View-Controller (MVC) Model-View-Presenter (MVP) Presentation Model (PM) Model-View-ViewModel (MVVM)
16. Prism Releases Prism 1.0 – WPF, July 2008 Prism 2.0 – WPF & Silverlight 2.0, Feb 2009 Prism 2.1 – WPF & Silverlight 3.0, Oct 2009 Prism 2.2 – WPF & Silverlight 4.0, May 2010 Prism 4.0 – WPF & Silverlight 4.0, beta version is available
17. What’s new in Prism 4.0 WPF 4.0 Support More ViewModel Pattern Guidance Managed Extensibility Framework (MEF) Support Guidance For Out of Browser Applications Application Structure Patterns & Navigation
18. Useful links MSDN Magazine article “Patterns For Building Composite Applications With WPF”: http://msdn.microsoft.com/en-us/magazine/cc785479.aspx MSDN Magazine article “WPF Apps with the Model-View-ViewModel Design Pattern”: http://msdn.microsoft.com/en-us/magazine/dd419663.aspx PowerPoint presentation and video from Patterns & Practices Symposium in Kiev, September 2010: http://www.techdays.in.ua/videos/2897.html Download latest version of Prism: http://compositewpf.codeplex.com/releases/view/46046