Michael Denny's Blog ;]


Tutto quello che non avresti mai voluto sapere sulle Regular Expression...e se sei qui ti tocca!
Archivio Posts
Anno 2017

Anno 2015

Anno 2014

Anno 2013

Anno 2012

Anno 2010

Anno 2008

Anno 2007

[WPF] - Tutorial: MVVM in un Minuto con Radical

Oggi dovevo creare un progetto WPF di esempio, e dato che mi servivano le potenzialità del MVVM (Model-View-ViewModel), ma non avevo intenzione di perdere tempo a crearmi tutto il boilerplate code per gestire il commanding, message broker, property notification , ecc… ho pensato finalmente di dare una dignitosa occasione a Radical, un framework open source, ideato proprio per velocizzare, e direi anche facilitare, al massimo l’approccio su applicazioni WPF/Silverlight/WP/WinRT con una forte volontà di spingere lo sviluppatore ad ottenere un alta qualità di design del codice e un’ottima manutenibilità nel tempo.

Mi permetto di fare una piccola parentesi sul creatore di Radical, Mauro Servienti, dato che credo stia condividendo un infrastruttura di alta qualità, nata non tanto dalla pretesa di essere meglio di altri framework MVVM già esistenti (PRISM, MVVM Light, Simple MVVM, Caliburn, …), ma credo dalla volontà di dare una boccata d’aria fresca, per avvicinare più persone all’utilizzo corretto delle tecnologie, facilitando il percorso con uno strumento libero da overengineering, che spesso tecnologie mature sono costrette ad avere per svariati motivi, tra cui la retro compatibilità, tendendo  a spaventare uno sviluppatore alle prime armi e non.

Ok passiamo al dunque, anche perché solo per leggere la parte sopra abbiamo già buttato via secondi preziosi per il nostro intento di avere una solution WPF in MVVM in un minuto!


WPF MVVM with Radical in Action

 

1 – Creare un nuovo progetto “WPF Application” da Visual Studio (2010 o 2012)

 

2 – Aggiungere la reference a Radical

Utilizzando nuget (Project -> Manager NuGet Packages), aggiungere la reference a: Radical.Windows.Presentation.CastleWindsor




 

3 – Rimuovere la MainWindow.xaml che il template di visual studio aggiunge di default


4 – Modificare il file app.xaml e rimuovere l’attributo StartupUri


 

5 – Aggiungere al progetto la cartella “Presentation”

Questa cartella è la posizione di default, dove Radical Presentation, basandosi su precise convenzioni, guarda alla ricerca di View e ViewModel.

 

6 – Creare la schermata principale del progetto

All’interno della cartella “Presentation” aggiungere due nuovi items:

·       Una WPF window chiamata “MainView.xaml” (il suffisso View è importante per le convenzioni Radical)

·       Una classe “MainViewModel.cs” (il suffisso ViewModel è importante per le convenzioni Radical). **piccolo appunto: ereditate dalla classe AbstractViewModel la MainViewModel

 

 

7 – Aggiungere l’ultima riga di codice

Nel costruttore della classe presente nel file “app.xaml.cs” aggiungere questa singola riga di codice:

 var bootstrapper = new WindsorApplicationBootstrapper<Presentation.MainView>();

 

 

8 – Premere F5 e siete pronti per utilizzare Radical!



Conclusioni

In questo tutorial non ho spiegato niente sulle nozioni fondamentali del Model-View-ViewModel, perciò ringraziando tantissimo e sfruttando al massimo il collega Mauro Servienti, vi allego il link diretto al suo blog con preimpostata la ricerca su “mvvmJ e nei post più vecchi troverete i primi approcci e la spiegazione completa (in italiano) dei concetti che stanno dietro al MVVM.

 

Note

Ci tengo a precisare che il tutorial è stato liberamente ispirato dalla Quick start della documentazione ufficiale di Radical su CodePlex, ma spero di potere avere il tempo di aggiungere ulteriori tutorial/articoli per fare vedere tutte le potenzialità di Radical e WPF in generale.

 

A Presto!

Categoria: WPF
sabato, 02 mar 2013 Ore. 20.05
Calendario
novembre 2024
lmmgvsd
28293031123
45678910
11121314151617
18192021222324
2526272829301
2345678





Statistiche
  • Views Home Page: 85.401
  • Views Posts: 82.142
  • Views Gallerie: 0
  • n° Posts: 31
  • n° Commenti: 18
Copyright © 2002-2007 - Blogs 2.0
dotNetHell.it | Home Page Blogs
ASP.NET 2.0 Windows 2003