The Dark Side of .NET Programming

Il blog di Michele Aponte
posts - 184, comments - 273, trackbacks - 22

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 venerdì 29 gennaio 2010 5.59 |

Feedback

No comments posted yet.

Post Comment

Title  
Name  
Email
Url
Comment   
Please add 7 and 1 and type the answer here:

Powered by: