building silverlight & wpf applications with prism

26

Upload: hayes-levine

Post on 31-Dec-2015

37 views

Category:

Documents


0 download

DESCRIPTION

Building Silverlight & WPF Applications With Prism. Name: David Hill Title: Principal Architect Company: Microsoft Patterns & Practices Session Code: DPR302. The Challenge. The Solution. Composite Client Applications. The Problem: Client Applications are Challenging! - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Building Silverlight & WPF Applications With Prism
Page 2: Building Silverlight & WPF Applications With Prism

Building Silverlight & WPF Applications With Prism

Name: David HillTitle: Principal ArchitectCompany: Microsoft Patterns & PracticesSession Code: DPR302

Page 3: Building Silverlight & WPF Applications With Prism

The Challenge

Page 4: Building Silverlight & WPF Applications With Prism

The Solution

Page 5: Building Silverlight & WPF Applications With Prism

The Problem:Client Applications are Challenging!Beyond the Bling – How To Make The ApplicationDynamic, Customizable, Extensible, Testable?

The Solution:Break App Into PiecesManage Dependencies Between PiecesRe-assemble App From Pieces

Prism – Patterns For Composite Client Apps

Composite Client Applications

Page 6: Building Silverlight & WPF Applications With Prism

Prism – Composite Client Application Guidance for WPF and Silverlight

LibraryReference ImplementationDocumentationQuick-Starts & How-To’sCommunity – CodePlex

Prism 1.0 – WPFReleased July 2008

Prism 2.0 – WPF & SilverlightReleased Feb 2009

Prism – What’s In The Box?

Page 7: Building Silverlight & WPF Applications With Prism

Prism Reference Implementation

Page 8: Building Silverlight & WPF Applications With Prism

The StockTrader Reference Implementation

demo

Page 9: Building Silverlight & WPF Applications With Prism

Prism Core Concepts

Page 10: Building Silverlight & WPF Applications With Prism

Modules

Unit Of Application AssemblyCollection of Related ComponentsFeature, Services, Views, Data AccessSlice & Dice: Mandatory, Optional, Role Specific

Unit Of DevelopmentIndependent DevelopmentIndependent Testing

Unit Of DeploymentUp-Front, Background or On-Demand

Page 11: Building Silverlight & WPF Applications With Prism

Modules

Module DiscoveryPluggable Catalogs

Module LoadingBackground or On-Demand

Module Loader

New InPrism 2.0!

Page 12: Building Silverlight & WPF Applications With Prism

Modules and Catalogs

demo

Page 13: Building Silverlight & WPF Applications With Prism

Shell – Application Host WindowRegions – Named Areas For View PlacementViews – Module UI & Presentation LogicView Injection Visual Composition

UI Layout & Composition

Region Region

Region<ContentControl RegionManager.RegionName= “DetailsRegion” />

IPositionPresentationModel presentationModel = …;

IRegion mainRegion = regionManager.Regions[ "MainRegion" ];

mainRegion.Add( presentationModel.View );

<ItemsControl RegionManager.RegionName= "MainRegion">

Page 14: Building Silverlight & WPF Applications With Prism

UI Layout & Composition

View Discovery Visual Composition:Less ComplexBlack Box ‘App Assembly’ CompositionSelect Views & Pull into Region

Region Region

Region<ContentControl RegionManager.RegionName= "DetailsRegion" RegionManager.AutoPopulate="True"/>

<ItemsControl RegionManager.RegionName= "MainRegion" RegionManager.AutoPopulate="True“ />

regionManager.RegisterViewWithRegion( "MainRegion", typeof( MainView ) );

Page 15: Building Silverlight & WPF Applications With Prism

UI Layout & Composition

demo

Page 16: Building Silverlight & WPF Applications With Prism

Commands and EventsDelegate & Composite Commands

Simplified Command HandlingEvent Aggregator

Loosely Coupled Pub/Sub Events

Module B

CustomerPresenter

Module A

OrderPresenter

EventAggregator

Subscribe

Publ

ish

Event

Page 17: Building Silverlight & WPF Applications With Prism

Commands & Events

demo

Page 18: Building Silverlight & WPF Applications With Prism

Separated Presentation

Presenter

Model

View

PresentationModel ModelView

Prism 1.0Supervising PresenterPresentation Model

Prism 2.0More Concrete Guidance on Using These Patterns…“Model-View-ViewModel”How To Be Designer FriendlyModeling Presentation State (Not UI State)Ultra Thin Views – Data Templates

Page 19: Building Silverlight & WPF Applications With Prism

WPF

SILV

ERLI

GH

T

CLR - Silverlight CLR Desktop

BCL BCL

BROWSER DESKTOP

Multi-TargetingUser Experiences

Desktop – In the Office, Full Functionality, Offline CapableRIA – Out of the Office, Functional Subset, Online

How to Share Code & Components?

Controllers

Models

Presenters

Views

Models

Controllers

Presenters

Views

Page 20: Building Silverlight & WPF Applications With Prism

Multi-Targeting

demo

Page 21: Building Silverlight & WPF Applications With Prism

SummaryPrism 1.0

Library of Patterns for Enterprise Client AppsTargets WPF on the Desktop

Prism 2.0Extends Prism to Silverlight RIA ApplicationsExtended Patterns for UI Composition, Separated Presentation, ModularityMulti-Targeting – Extend user experience & re-use code and components

Download from MSDN & CodePlex

Send us feedback & ideas for Prism 3.0!

Page 22: Building Silverlight & WPF Applications With Prism

Where Can You Find It?www.microsoft.com/prismwww.codeplex.com/prism

Page 23: Building Silverlight & WPF Applications With Prism

What Previous Attendees Have Said..."Overall, conference was great, gave us good roadmap to follow.""Thank you for all the great ideas. I am looking forward to going home and applying them.""Many of the things I learned here will revolutionize our practices, processes, designs, and patterns. THANKS!""Speakers were great“"Excellent conference, just first day alone was worth the money. Thank you.""This was an excellent value and I would recommend it to everyone!!""All speakers were very knowledgeable and they addressed many issues that I face every day.""This was an excellent conference for me. I'm taking away some useful tools.“

More information:http://tinyurl.com/pnpsummit

Facebook: Stay tuned to updates on p&p summit by becoming a fan of p&p summit in Facebook. Click here to become a fan.Digg It: Show you support, by digging the p&p summit announcement here. Twitter: In your tweets about p&p summit, please add the tag “#pnpsummit”.

Page 24: Building Silverlight & WPF Applications With Prism

question & answer

Page 25: Building Silverlight & WPF Applications With Prism

www.microsoft.com/teched

International Content & Community

http://microsoft.com/technet

Resources for IT Professionals

http://microsoft.com/msdn

Resources for Developers

www.microsoft.com/learning

Microsoft Certification & Training Resources

Resources Tech·Ed Africa 2009 sessions will be made available for download the week after the event from: www.tech-ed.co.za

Page 26: Building Silverlight & WPF Applications With Prism

Complete a session evaluation and enter to win!

10 pairs of MP3 sunglasses to be won