The Dark Side of .NET Programming

Il blog di Michele Aponte
posts - 212, comments - 145, trackbacks - 16

DotNetMarche: UI Composition con Mauro Servienti e Paolo Possanzini

UI Composition: fare injection di componenti della UI da qualche parte, pensiamo ad esempio un plugin. Con WPF possiamo farlo senza spararci!

Perchè ci serve fare UI Composition?

  • Cliente: necessità di modularizzare:
    • Acquistare in configurazioni diverse
    • installare in configurazioni diverse
  • Team: necessità di gestire e lavorare

Che problemi ci pone?

  • Region Management
  • Comunicazione tra attori che non si conoscono
  • Gestione ciclo di vita plugin/modulo
  • Obbligatorietà di IoC perchè bisogna avere a che fare con i contratti

Le Region, che sono le parti della UI in cui iniettiamo i nostri controlli, possono essere  statiche o dinamiche, quelle statiche le possiamo individuare semplicemente con il nome, quelle dinamiche invece hanno bisogno di nome + contenitore che ci ospita. WPF e XAML ci danno massima libertà grazie alle Attached Property.

Ma come comunicano i vari elementi di interfaccia iniettati? Utilizzando un MessageBroker che ci permette di definire oggetti di tipo IMessage e spedirli: i moduli interessati a ricevere i messaggi si sottoscrivono al broker.

Prism è un framework di UI Composition, disponibile su codeplex in due versioni, la 1 e la 2. Nella 1 non sono supportate le region dinamiche. Funziona sia con Silverlight che con WPF.

Print | posted on giovedì 28 gennaio 2010 05:59 |

Comments have been closed on this topic.

Powered by:
Powered By Subtext Powered By ASP.NET