Northwind Starter Kit: è tempo di MVC

Ho cambiato idea: la prima GUI *architetturalmente* decente disponibile per il Northwind Starter Kit sarà web e basata su Model View Controller, quindi nisba (per il momento) Model View Presenter. Non solo: l'implementazione MVC sarà molto semplice, e non utilizzerà toolkit esterni; il motivo è semplice: uso NSK come applicazione reference per i miei corsi ed eventi/webcast, ed alla domanda "Che libri consigli per studiare le tematiche relative al design?" rispondo sempre "Almeno GoF e P of EAA". Spesso, inoltre, questi testi sono già posseduti dai partecipanti. Ebbene, in [P of EAA] Martin presenta una semplice implementazione ASP.NET di MVC, fondamentalmente basata su Template Method.
Poichè ho necessità di disporre di questa versione della GUI già da settimana prossima, poichè la mostrerò durante il corso OOD che erogherò presso Microsoft Italia,  questa implementazione mi offre 3 vantaggi:
  • Non usando un toolkit esterno, è possibile spiegarla senza dover introdurre *anche* il tool. Ergo: guadagno tempo (che posso utilizzare per mostrare altri argomenti) e non appesantisco la spiegazione "mischiando" 2 argomenti (MVC *e* tool)
  • Chiunque dovesse osservare il codice, potrebbe utilizzare il [P of EAA] come "quick reference" per la parte GUI e quindi avere uno strumento per orientarsi
  • E' una buona scusa per introdurre anche Template Method :-)

Questa scelta non implica l'abbandono di MVP, che è solo rimandato. Ribadisco la mia intenzione di rendere disponibili differenti GUI implementate in modo architetturalmente e tecnologicamente etereogeneo, ma tutte insistenti sulla stessa accoppiata domain model/business logic.
In realtà i "lavori" di implementazione di MVC sono quasi ultimati (e vorrei ben vedere: mi serve settimana prossima!), e qualche giorno dopo il corso pubblicherò su sourceforge i sorgenti aggiornati cercando di recepire eventuali critiche/suggerimenti dei partecipanti al corso. Mi spiace che i tempi di aggiornamento siano così "dilatati", ma essendo l'unico sviluppatore attivo del progetto e dovendo "anche" lavorare/vivere (scegliete voi l'ordine), è difficile conciliare "qualità" (che è il mio primo obbiettivo) e "velocità". Ricordo che il progetto è sotto licenza Common Public Licence, quindi chiunque voglia contribuire sarà ben accetto :-)

P.S.: in realtà sto lavorando anche su altri fronti per evolvere NSK: security (CAS/permission), integrazione della nuova versione (ancora non pubblicata) del Validation Application Block, separazione delle classi "container" (collection/liste) da quelle "view" e l'implementazione di una Unit of Work ad uso dei DAL. Insomma... It's just a question of time (cit.)

Technorati tags: ,

posted @ mercoledì 7 giugno 2006 15:06

Print

Comments on this entry:

No comments posted yet.

Your comment:



 (will not be displayed)


 
 
Please add 2 and 3 and type the answer here:
 

Live Comment Preview:

 
«aprile»
domlunmarmergiovensab
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011