Un esempio di semplicità col pattern MVC

((( continuo la serie di post pratici sulla semplicità. La sfida di Gino qui ora è trovare qualcosa ancora da togliere, da sottrarre per arrivare all'essenziale da cui cominciare, al minimo indispensabile a cui non si può rinunciare  )))




Gino conosce il pattern Model-View-Controller, le sue varianti, le sotto-varianti e gli adattamenti ai diversi framework grafici.    Si dice che sa applicare MVC bendato con le mani legate dietro la schiena come fosse Chuck Norris   ((( minchia! )))


Gino ha un giorno intero di tempo e il suo collega è interessato a capire come si applica il MVC e quanto semplifica il codice. Per farla semplice da dove comincia?



Gino comincia da una applicazione semplice per l'MVC, sceglie tra  un Web Service e una Console Application e si focalizza sulla serparazione delle responsabilità:

  • Sceglie un Web Method (o una funzione anche da riga di comando della Console Application), diciamo si chiami FooFoo

  • Crea una classe FooFooModel col un metodo omonimo al Web Method (o alla funzione della riga di comando) e con eventuali property di oggetti di dominio il Web Method deve tornare (o che la Console Application deve visualizzare)

  • Estrae l'interfaccia IFooFooModel e si assicura che esponga solo tipi base o oggetti di dominio e nessuna entità e operazioni sul database

  • Crea una classe FooFooPresenter con un metodo che riceve in ingresso gli argomenti del Web Method (o della funzione della riga di comando) e restituisce il risultato

  • Si assicura che FooFooPresenter esponga solo tipi base e tipi di oggetti di presentazione serializzabili di ingresso/uscita dal Web Method (o della funzione della riga di comando) e nessun oggetto e operazioni di dominio

  • Nel Web Method (o della funzione della riga di comando) crea model e presenter e chiama il metodo del presenter passando i parametri di ingresso e restituendo i risultati

Gino sceglie un altro Web Method simile o un'altra funzione simile della Console Applicatio e lascia guidare il collega nella implementazione. Intervenendo dove necessario.



Questa domanda ammette più risposte egualmente valide. Ti viene un altro modo semplice per iniziare ?




Tags :   |  |  |

Print | posted @ Thursday, March 12, 2009 8:51 PM

Comments have been closed on this topic.