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 @ Wednesday, June 7, 2006 12:06 PM

Print
Comments have been closed on this topic.
«July»
SunMonTueWedThuFriSat
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910