settembre 2009 Blog Posts
Una applicazione modulare, qualsiasi sia l’ambiente “tecnologico” in cui opera, necessita di poter far comunicare tra di loro le parti delle quali è composta. Nel caso di Prism, abbiamo già visto come l’Event Aggregator possa essere d’aiuto per implementare una comunicazione “Loosely-Coupled Event-Based”. Esistono però anche altre tecniche di comunicazioni tra l’utente ed i moduli e tra moduli. Vediamo insieme le varie possibilità messe a disposizione dal Prism Framework. Commanding L’utilizzo di comandi per implementare l’interazione Utente-Applicazione è la prima forma di comunicazione. Prism mette a disposizione i due tipi di comandi (già visti in un precedente post)...
Ieri sera, al meeting di XeDotNet, ho avuto ancora una volta il piacere di assaporare la vera passione per la tecnologia. La vostra passione, quella che aleggiava per la sala e che contraddistingueva tutti voi che avevate fatto chilometri nel traffico del venerdì sera per venirci ad ascoltare. Quando vedo questa partecipazione, le ore spese a preparare la sessione hanno improvvisamente un senso, perchè la conoscenza è un bene prezioso, che va coltivato e condiviso. Lo spirito di community che riuscite a far arrivare al cuore di noi speakers è veramente forte e, vi assicuro, si riesce a...
Penso che tutti noi, prima o poi, nel nostro lavoro ci siamo imbattuti nella temutissima “interpretazione alternativa” del campo di un database. Si tratta di quel fenomeno, spesso dettato dalla fretta (che si sa, è SEMPRE cattiva consigliera) che porta lo sviluppatore ad utilizzare uno o più campi di una tabella in un modo che travalica il loro reale significato. Mi spiego meglio: è il classico “metto NULL nel campo IDImpiegato per segnalare che l’ordine è stato evaso”. Questa “bestialità” non è solo il segnale di un completo menefreghismo di qualsiasi forma di normalizzazione del database, ma anche...
Ormai ci siamo… domani sera, 25 Settembre 2009, alle ore 19.00 presso l’Hotel Novotel a Mestre si terrà la Pattern Track Conference di XeDotNet. Uno degli speaker sarà il sottoscritto, mentre l’altro sarà il prode Mauro Servienti. Per quanto riguarda la mia sessione, si parlerà del pattern MVVM impiegato su applicazioni realmente realizzate. Dopo una breve introduzione, vedremo come questo pattern sia estremamente produttivo e flessibile. Cercherò (il tempo sarà molto tiranno!) di dimostrarvi come sia possibile realizzare un’intera applicazione WPF riutilizzando modelli già esistenti, provenienti da applicazioni realizzate precedentemente, e come sia una realtà lo sviluppo “parallelo”...
Un piccolo tip che può rivelarsi davvero utile per uniformare il comportamento grafico delle nostra applicazioni WPF. Se creiamo un’applicazione WPF ed utilizziamo i controlli standard senza cambiarne i templates, questi controlli si renderizzaranno in modo diverso a seconda del sistema operativo su cui sta girando il nostro client. Questa cosa può diventare fuorviante per l’utente che trova rendering grafici differenti a seconda del sistema operativo. WPF, grazie ai dictionaries di risorse permette di uniformare il comportamento grafico in modo che la stessa applicazione si comporti nello stesso modo sia sotto Windows XP che sotto Windows Vista (per esempio,...
E’ di oggi la notizia che XeDotNet è stata premiata come Community of The Year 2009 da Microsoft. Inutile dire che, essendo uno dei soci fondatori della community, la cosa mi riempie di orgoglio e mi fa ripercorrere i momenti passati insieme ai colleghi a divulgare/formarsi contribuendo e fruendo dell’esperienza di tutti. Se ripenso ancora a quel dicembre in cui ci siamo trovati in pizzeria a decidere il nome della community mi viene da sorridere.
Comunque sia, le persone da ringraziare siete voi, tutti voi che al venerdì sera sacrificate le vostre famiglie per partecipare a degli incontri distanti anche centinaia...
I comandi sono fondamentali nella realizzazione di applicazioni interattive. In ultima analisi, essi rappresentano le azioni che possono essere intraprese dall’utente: Salva, Cancella, Salva tutto, Successivo, Precedente etc. In Prism, e più in generale nelle applicazioni implementate con pattern MVVM, è importante poter effettuare il binding dei comandi in modo “lasco”, ovvero senza dover utilizzare handler nel code behind della view e facendo in modo di non propagare il comando all’interno del command tree del controllo. In questo modo è possibile indirizzare l’esecuzione di un comando direttamente ad un metodo contenuto nel ViewModel, cosa che impieganto i classici RoutedEvents non...
“No man is an island”, diceva Don Box a proposito di “Indigo” (ora WCF), a PDC 2003. La comunicazione, in qualunque forma la si voglia intendere, è la prima forma di evoluzione. La stessa regola vale anche per le nostre applicazioni modulari, che vivono in un ecosistema comune (la shell), si avvalgono di servizi, e nelle quali sarebbe impossibile fare a meno di una forma di comunicazione condivisa.
Prism mette a disposizione un’infrastruttura di comunicazione che va sotto il nome di Event Aggregator. L’event Aggregator si basa cui concetti di
Evento: dichiarato in modo che l’aggregator lo...