20

Oct

I controlli magici di VisualStudio: I due lati della medaglia

Ciao a tutti

 

spesso leggo altri parlare di architettura o di scelte….. sui forum MSDN c’è di tutto: chi vuole creare una textbox che capisce da sola in quale DB andare, come andarci, come leggere i dati e come fare il caffè; ma c’è anche chi dice che senza il DDD non riesce nemmeno a farti una paginetta htm per farti vedere che ora è in javascript….

Ovviamente, sono eccessi, di entrambi i mondi

Microsoft ed il suo approccio RAD da 15 anni ormai con Visual Basic 1,2,3,4,5,6, e poi .NET, ci è sempre venuta incontro

Ma cos’è il RAD?

RAD significa “sviluppo rapido di applicazioni”, in pratica?

visto che ormai abbiamo controlli grafici molto potenti, in grado di sapere che colonne farci vedere o no di una griglia, o come farci fare dataentry comodamente con 4 click, allora Microsoft ha sviluppato una miriade di controlli simili per WindowsForms o per ASP.NET dove è possibile collegare direttamente i controlli alla sorgente dati

Andremo a realizzare applicazioni data-driven (completamente orientate e basate sui dati) in poco tempo ma con un altissimo costo di manutenzione, si, perchè qualunque modifica ai dati, costerà modificare tutte le applicazioni che li usavano a mano rilanciando i vari wizard di creazione dei vari controlli usati…..

Quando usare il RAD? Quando sappiamo che dobbiamo usarlo per qualcosa ke non cambia mai, la cui complessità è irrisoria, il cui DB è praticamente nelle nostre mani, e dove ovviamente non c’è logica di business (perchè praticamente è impossibile iniettarla in quei controlli)

Alternative?

Al crescere della complessità del problema (accesi concomitanti, logica di business, validazione, modifiche frequenti alle entità, etc) crescono le soluzioni per potenza e complessità (o numero di classi da usare) e ovviamente più andiamo avanti meno controlli automatici avremo

In ordine, troveremo per la business logic

TransactionScript

ActiveRecord

DomainModel

E per le UI:

MVC (ASP.NET MVC per i più)

MVVM (per WPF e SilverLight)

Senza dimenticare il fatto che ormai quasi sempre la logica di business risiede in dei servizi ad hoc secondo lo standard SOA

 

a presto

by Antonio Esposito on 10/20/2011