marzo 2006 Blog Posts
Premessa: quanto scrivo è TRASVERSALE ad
ogni schieramento politico, non vuole essere una presa di posizione nei
confronti dell'una o dell'altra fazione.
E' notizia di oggi che i Verdi si sono lanciati in una
campagna in favore dell'open source, per sostenere il
diritto del pinguino ad "uscire dalla gabbia" nella quale la corporation di Bill
Gates sta cercando di rinchiuderlo.
Mi fa quantomeno sorridere il fatto che costoro dicano in giro di
essere da anni in
prima fila nella battaglia per la diffusione dei software e dei sistemi
operativi "open source", ovvero quelli che vengono messi a punto attraverso il
contributo "aperto" anche all'esterno e che...
Scenario: abbiamo una nostra bella custom collection,
magari che implementa IBindingList, ma non siamo perfettamente soddisfatti di
come il FX ne gestisca il binding: vorremmo infatti scegliere a priori, ad esempio, l'ordine con cui le proprietà vengono
visualizzate quando si effettua un data binding con una DataGridView, o vorremmo poter popolare la nostra custom
collection di Person anche con tipi derivati da Person (normalmente
la DataGridView se la prende parecchio se ci proviamo ).
La soluzione è implementare ITypedList e io, mesi
fa, l'avevo fatto seguendo i dettami di questo articolo su MSDN
Magazine. E' andata sempre bene, finché oggi, facendo alcuni test sulle...
Una delle necessità in cui si può incorrere quando
si sviluppano applicazioni utilizzando custom entities, consiste nel fare in
modo che le proprietà dei nostri oggetti presentino descrizioni significative
una volta in binding, ad esempio, ad una DataGridView.
Personalmente cerco sempre di creare entities con nomi
di proprietà significativi, ma se volessi automaticamente far apparire "Data di
nascita" in luogo di "DataNascita" quando effettuo il binding...
Mi ha fatto riflettere questo post che ho trovato girovagando qua e là per la rete, a
proposito dei down che sembrano affliggere sempre più spesso i siti che fanno un
uso spinto di AJAX. Lo stesso GMail oggi mi ha piantato in asso per la seconda volta in
questa settimana, ma mi consolo perché ad altri è andata anche peggio.
Ricordo di aver letto mesi fa un post di Daniele Bochicchio pieno di dubbi su questa
vecchia/nuova tecnologia, e di averlo bollato a suo tempo come
"troppo pessimistico". Ad oggi non posso fare a meno di constatare
quanto avesse ragione. Chapeau!
powered by IMHO 1.3
Oggi ho ricevuto un feedback a questo post che mi ha dato da
pensare: ultimamente mi è capitato di leggere commenti molto negativi sul modello DataSet/DataAdapter di ADO.NET, quasi che un bel Domain Model rappresenti la panacea di tutti i mali.
Il mio punto di vista, a questo proposito, è che la distinzione tra bene
e male (o tra Black and White, passatemi questa... è per celebrare il successo del nostro Francesco )
non sia sempre così netta. Chi ha letto Patterns of
Enterprise Application Architecture sa bene che è lo stesso Martin Fowler a sconsigliare il Domain Model in favore di
altri approcci (ad...
Una delle maggiori problematiche per chi ha avuto
qualche esperienza con NHibernate è il fatto che questo
O/RM non gestisce direttamente collection strongly-typed. Ammetto di
non aver cercato moltissimo in giro per la
rete, ma in quei 3 o 4 esempi che ho guardato, le business entities
avevano sempre la forma
public class Master{ // ... more code ... private IList details; public IList Details { get { return details; } }}
Questo tipo di implementazione pone alcune
problematiche: oltre al fatto di essere weakly-typed, può funzionar bene se
viene utilizzata in una pagina ASP.NET, grazie al databinding poco
"interattivo", ma se proviamo a collegarla ad una windows forms perdiamo un
sacco di funzionalità a cui eravamo abituati usando i DataSet (il refresh dei
dati sullo schermo...
In realtà sono molto più temibili i Sabato 18,
soprattutto quando ti viene in mente di aggiornare il tuo sistema al Framework
2.0, approfittando della giornata libera (fino ad oggi ci lavoravo su una
Virtual Machine, poi l'esasperazione per la lentezza ha preso il
sopravvento).
Ho già avuto piccoli sentori che qualcosa non andava quando ho disinstallato
Sql Server 2000 per far posto al 2005: l'uninstall sa solo lui cosa ha
eliminato, fatto sta che il servizio era ancora lì, le cartelle con tutti i
programmi pure e anche le icone sul menu Start resistevano. Consiglio: mi è
stata parecchio utile...
Finalmente oggi il postino mi ha consegnato CLR via C# di Jeffrey Richter.
Bene bene! Sono proprio curioso di leggerlo. Da stasera
inizio a papparmelo
powered by IMHO 1.3
Perché quando si prova a consigliare ai propri superiori
di utilizzare un RDBMS come SQL Server 2005 in luogo di FireBird, "tanto la
Express va bene alla maggioranza dei nostri clienti ed è anche gratuita" o
si prova a dire che "Visual Studio 2005 e il .NET 2.0 (anzi, la tecnologia
.NET in generale) risolvono parecchie problematiche con cui quotidianamente ci
troviamo ad avere a che fare", si viene bollati come "Microsoftiani"?
powered by IMHO 1.3
Mi ha incuriosito parecchio un post di ScottGu in cui
è citata una nuova iniziativa della casa editrice americana O'Reilly, che già annovera
nel proprio catalogo parecchi titoli interessanti, ad esempio questo su WPF di Chris
Sells (inutile dire che è nella mia wish list già da un paio di mesi
). Ok, come al solito mi son perso in
chiacchiere, dicevo... la nuova iniziativa...
Beh, il nome è Rough Cuts e mi è parsa sinceramente un'idea ingegnosa: oggi pago e ho la possibilità di accedere
alle varie revisioni di un libro, in PDF, prima ancora che questo venga
stampato; eventualmente, poi, posso acquistarne la versione cartacea nel
momento...
Igor mi ha tolto le parole di bocca (o, per meglio dire, i caratteri
dalla tastiera ) : anche io stavo per scrivere qualcosina a proposito
di un weekend parecchio "object-oriented", trascorso tra C# e NUnit.
Parecchio tempo l'ho passato integrando il ValidationApplicationBlock di Andrea. Che
dire... beh, innanzi tutto che effettivamente questa storia dei custom
attributes, che ha visto nascere un enorme secondo post addirittura all'una di notte passata, mi sta
prendendo fin troppo la mano! Ho modificato un paio di cosine delle classi già
presenti e inserito alcune nuove funzionalità, speriamo che Andrea gradisca, così
magari ve le ritrovate in una prossima release!
In...
Non ho resistito al colpo, la comunicazione di Amazon del ritardo di ASP.NET 2.0: Advanced Topics l'ho presa male . Ma
siccome chiodo schiaccia chiodo, ho ordinato al volo il nuovo CLR Via C#: Applied .NET Framework 2.0 Programming di
Jeffrey Richter. Non ho letto il suo lavoro precedente, ma ne ho sentito parlare come una sorta
di Bibbia che ogni sviluppatore dovrebbe avere nella propria biblioteca
personale.
Sicuramente anche questo sarà dello stesso livello, non vedo l'ora che arrivi
(dovrebbe essere qui per la prossima settimana) per buttarmi nello studio di
cosa accade dietro le quinte del CLR. Poi vi faccio sapere com'è!
powered...
In un post precedente ho iniziato un discorso su come
utilizzare le potenzialità dei custom attributes per validare le nostre entity.
Una volta capito il meccanismo, è estrememente semplice implementare tutta una
serie di classi che permettano le più disparate tipologie di validazioni, magari
anche combinandole tra di loro.
Il nostro nuovo ErrorMessageAttribute
Ma se la validazione fallisce come dobbiamo comportarci? Beh, l'ideale a
questo punto sarebbe sollevare un'eccezione, magari potendo fornire un
messaggio d'errore specifico per il membro che non è stato correttamente
valorizzato. Siccome ci stiamo appassionando tantissimo alla programmazione
dichiarativa , realizziamo un bell'attributo simile a questo
(semplicissimo) che...
Ho appena ricevuto una mail da Amazon UK con cui mi
si avverte che ci vorranno tra le 3 e le 5 settimane di
ulteriore attesa per avere il prossimo libro di Dino Esposito, Programming Microsoft ASP.NET 2.0 Applications: Advanced
Topics, che avevo preordinato già da un mesetto.
Uff... e io che stavo divorando il Core Reference per terminarlo entro la metà di questo
mese
powered by IMHO 1.3
Se siete utilizzatori abituali di Visual Studio 2005, allora consiglio di dare un'occhiata a questo post di Brian Goldfarb: c'è
infatti la possibilità di partecipare al nuovo programma denominato
Engineer-to-Engineer per fornire feedback sulla nostra esperienza di
tutti i giorni con l'IDE di Microsoft. Qual è il premio per il disturbo? Beh,
ogni volta che si viene contattati, ci sarà la possibilità di scegliere un
regalo tra una serie di software gratuiti che vanno da giochi XBox a Visual
Studio Professional.
powered by IMHO 1.3
Magari per tanti di voi sarà già tutto noto, ma lo scrivo
lo stesso per chi, come me, non ne era al corrente.
Sul sito di MSDN, e più precisamente a questo indirizzo, sono presenti diversi template da
utilizzare per le nostre web-apps. Alcuni sono veramente carini e,
cosa importante anche per "fini didattici", sono
tutti realizzati sfruttando parecchie delle novità di ASP.NET 2.0, quali Master
Pages, GridView, Themes, ecc.ecc.
Buon download
powered by IMHO 1.3
Ieri sera, mentre riscrivevo alcune delle baseclass
del mio domain model sfruttando alcune delle chicche del FX 2.0
(leggi BindingList<T>, che mi fa risparmiare un sacco di codice), mi sono
chiesto se non fosse possibile costruire una struttura per validare
automaticamente le mie business entities, visto che il codice da scrivere è
spesso ripetitivo: questa proprietà non può essere nulla, quest'altra deve
essere maggiore di zero, e così via.
In pratica, ciò che si vuol fare è di integrare i metadati delle nostre classi decorandole
con Attributi personalizzati che poi possiamo recuperare a
runtime via reflection. Supponiamo, ad esempio, di voler realizzare...
Scaricando uno qualsiasi dei Visual Studio Express Edition e registrandosi, si
ottiene gratuitamente tutta una serie di download aggiuntivi, alcune icone,
immagini e i libri (ovviamente in formato PDF) della serie Build a
program NOW!
Ho
avuto l'occasione di dare un'occhiata a questi ultimi qualche giorno fa, dopo
che mio padre mi aveva chiesto una guida semplice per realizzare qualche piccola
applicazione su windows. Che dire... mi hanno sorpreso, veramente un ottimo
lavoro: coprono un'ampia fascia di argomenti, che vanno dal making-up delle
interfacce alla validazione dell'input dell'utente, o dalla gestione dati
tramite un RDBMS fino ai WebServices, spiegando...
Alla fine mi sono deciso anch'io! Da troppo tempo me ne
stavo in un angolino intimidito dai guru che girano da queste parti, pian piano
ho iniziato a scrivere qualcosina sul forum e poi ho maturato l'idea di
sfruttare lo spazio che UGIdotNet ci mette a disposizione per scrivere
qualcosina di mio.
Sono Marco e vivo in Abruzzo, dove lavoro in un'azienda che sviluppa software
per le PA (putroppo in Delphi, per questo il mio tempo libero si divide tra la
fidanzata e .NET ;) ). Spero proprio di riuscire a scrivere qualcosa di
interessante su queste pagine, e confido di...