24
Desarrollando aplicaciones modulares en WPF y Silverlight con Prism Ezequiel Jadib SR Lead Developer Southworks SRL Diego Poza SR Technical Writer Southworks SRL

Desarrollando Aplicaciones Modulares En Wpf Y Silverlight Con Prism

Embed Size (px)

DESCRIPTION

CodeCamp 2009 presentation

Citation preview

Page 1: Desarrollando Aplicaciones Modulares En Wpf Y Silverlight Con Prism

Desarrollando aplicaciones modulares en WPF y Silverlight con Prism

Ezequiel JadibSR Lead DeveloperSouthworks SRL

Diego PozaSR Technical WriterSouthworks SRL

Page 2: Desarrollando Aplicaciones Modulares En Wpf Y Silverlight Con Prism
Page 3: Desarrollando Aplicaciones Modulares En Wpf Y Silverlight Con Prism
Page 4: Desarrollando Aplicaciones Modulares En Wpf Y Silverlight Con Prism

el desafío

Page 5: Desarrollando Aplicaciones Modulares En Wpf Y Silverlight Con Prism

el desafío

Page 6: Desarrollando Aplicaciones Modulares En Wpf Y Silverlight Con Prism

la solución

Page 7: Desarrollando Aplicaciones Modulares En Wpf Y Silverlight Con Prism

consideremos Prism

Page 8: Desarrollando Aplicaciones Modulares En Wpf Y Silverlight Con Prism

Prism: Conceptos Básicos

Page 9: Desarrollando Aplicaciones Modulares En Wpf Y Silverlight Con Prism

Bootstrapper

Page 10: Desarrollando Aplicaciones Modulares En Wpf Y Silverlight Con Prism

Modularidad

Page 11: Desarrollando Aplicaciones Modulares En Wpf Y Silverlight Con Prism

MódulosDescubrimiento de MódulosCarga de Módulos

Module Loader

Page 12: Desarrollando Aplicaciones Modulares En Wpf Y Silverlight Con Prism

UI Composition

Page 13: Desarrollando Aplicaciones Modulares En Wpf Y Silverlight Con Prism

UI CompositionView Injection

Region Region

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

IPositionPresentationModel presentationModel = …;

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

mainRegion.Add( presentationModel.View );

<ItemsControl RegionManager.RegionName= "MainRegion">

Page 14: Desarrollando Aplicaciones Modulares En Wpf Y Silverlight Con Prism

UI CompositionView Discovery

Region Region

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

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

<ItemsControl RegionManager.RegionName= "MainRegion"/>

Page 15: Desarrollando Aplicaciones Modulares En Wpf Y Silverlight Con Prism

Comunicación

EventosComandos

Page 16: Desarrollando Aplicaciones Modulares En Wpf Y Silverlight Con Prism

Comandos y Eventos

Delegate & Composite CommandsEvent Aggregator

Module B

CustomerPresenter

Module A

OrderPresenter

EventAggregator

Subscribe

Publ

ish

Event

Page 17: Desarrollando Aplicaciones Modulares En Wpf Y Silverlight Con Prism

Patrones de Presentación

Page 18: Desarrollando Aplicaciones Modulares En Wpf Y Silverlight Con Prism

Patrones de PresentaciónFacilitan la testabilidad

Prism 1.0Supervising ControllerPresentation Model

Prism 2.0Información mas detallada en el uso de

patrones“Model-View-ViewModel”Ser amigable con el diseñadorVistas ultra delgadas – Data Templates

PresentationModel ModelView

Page 19: Desarrollando Aplicaciones Modulares En Wpf Y Silverlight Con Prism

Multi-Targeting

Page 20: Desarrollando Aplicaciones Modulares En Wpf Y Silverlight Con Prism

WP

F

SIL

VE

RL

IGH

T

CLR - Silverlight CLR Desktop

BCL BCL

BROWSER

DESKTOP

Multi-TargetingExperiencias de Usuario

Desktop – RIA¿Cómo compartir código y

componentes?

Controllers

Models

Presenters

Views

Models

Controllers

Presenters

Views

Page 21: Desarrollando Aplicaciones Modulares En Wpf Y Silverlight Con Prism

Composite Client Application Guidancehttp://msdn.microsoft.com/en-us/library/cc707819.aspx

p&p Composite Application Guidance for WPF and Silverlight sitehttp://compositewpf.codeplex.com/

Prism Team Blogshttp://compositewpf.codeplex.com/Wiki/View.aspx?title=Team%20Blogs

Recursos

Page 22: Desarrollando Aplicaciones Modulares En Wpf Y Silverlight Con Prism

¿Preguntas?

Page 23: Desarrollando Aplicaciones Modulares En Wpf Y Silverlight Con Prism

Ezequiel [email protected]://blogs.southworks.net/ejadib

Diego [email protected]://blogs.southworks.net/dpoza

TwitterEzequiel Jadib - @ejadibClient Dev - @clientdev

Gracias

Page 24: Desarrollando Aplicaciones Modulares En Wpf Y Silverlight Con Prism