building silverlight & wpf applications with prism

Post on 31-Dec-2015

39 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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

Building Silverlight & WPF Applications With Prism

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

The Challenge

The Solution

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

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?

Prism Reference Implementation

The StockTrader Reference Implementation

demo

Prism Core Concepts

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

Modules

Module DiscoveryPluggable Catalogs

Module LoadingBackground or On-Demand

Module Loader

New InPrism 2.0!

Modules and Catalogs

demo

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">

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 ) );

UI Layout & Composition

demo

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

Commands & Events

demo

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

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

Multi-Targeting

demo

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!

Where Can You Find It?www.microsoft.com/prismwww.codeplex.com/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”.

question & answer

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

Complete a session evaluation and enter to win!

10 pairs of MP3 sunglasses to be won

top related