ASP.NET

MVC: Microsoft & Castle

Come forse saprete alla ATL.NET conference ScottGu ha mostrato una preview dell'implementazione del pattern MVC in ASP.NET a cui sta lavorando Microsoft. Per chi conosce Castle sa già che oggi è già possibile sviluppare applicazioni web seguendo MVC utilizzando Monorail e tutti gli altri tools (Window Container, MicroKernel e ActiveRecord). Interessante notare che il team di Castle ha messo subito home page un commento riguardo a cosa pensa di questo nuovo "tool" targato Microsoft. Technorati tags: ASP.NET, MVC, Castle

Pattern MVP: usare una classe base per ottimizzare il test dei Presenter

In questo ultimo periodo ho usato molto il pattern ModelViewPresenter. Per scrivere le mie triadi MVP ho utilizzato la tecnica del presenter first con ottimi risultati. All'interno dei miei unit-test ho fatto ampio uso di Mock Objects ed ho notato una certa ripetitività nel codice prodotto, soprattutto nei metodi di Setup e di TearDown. Con una soluzione simili a quella usata per il refactoring del presenter, ho usato i generics ed una classe base per evitarmi inutili ripetizioni. Vediamo un esempio concreto. Di seguito un presenter con la sua View ed il suo Model     public interface IMyView     {       void ShowLoggedUser(string s);    }   public interface IMyModel   ...

Pattern MVP: usare una classe base per ottimizzare i Presenter

In questo periodo ho scritto molto codice che usa il pattern MVP ed ho notato che il costruttore di un presenter fa bene o male fa quattro operazioni fondamentali: riceve riferimento ad un'instanza della view  controlla che la view non sia null riceve riferimento ad un'instanza del model controlla che il model non sia null Con una sintassi simile a questa: public class MyPresenter    {       private readonly IMyModel _model;       private readonly IMyView _view;       public MyPresenter(IMyView view,IMyModel model)        {           if (view ==null)               throw new ArgumentNullException("view");           if (model ==null)               throw new ArgumentNullException("model");            _model = model;            _view = view;        }    }/p>   In un progetto mediamente complesso capita di...

Koders Visual Studio Plug-in

Spesso la miglior documentazione per una classe o un metodo sono un esempio pratico di utilizzo concreto della stessa. Per cercare esempi di codice oggi possiamo usare molti motori di ricerca specializzati in questo compito. Per i più pigri segnalo questo plug-in per VisualStudio (sia 2003 che 2005) che permette di effettuare le ricerche nel database di Koders.com e di visulizzare i risultati rimanendo all'interno dell'ambiente di sviluppo.

MVP: Comunicazione tra Presenter e View

In questo periodo sto dedicando un po' di tempo all'approfondimento del pattern MVP e delle sue sfumature. Spesso quando devo scrivere il presenter mi chiedo in che modo questo debba dialogare con una view: ovvero se tramite metodi pubblici sul presenter chiamati dalla view oppure eventi sulla view sottoscritti dal presenter. Gli autori di questo articolo a cui sono giunto grazie a questo post di Antonio suggerisco questo approccio: Communication with the presenter is made possible by the use of an event subsystem to loosely couple the model and view to the presenter. The most common case is for the view to fire events...

Validazione con MonoRail

Nella prima metà del 2006 avevo realizzato alcuni progetti (reali) con questo framework e devo dire che erano molte le feature che avevo apprezato per esempio la netta separazione tra la view e il controller ed il binding bidirezionale. Una cosa però mi aveva lasciato piuttosto insoddisfatto ed era la validazione. Allora non esisteva nulla di veramente RAD se non qualche libreria js ed una classe Helper poco documentata.Come suggeritomi ieri da Janky sul blog di Hammett (il boss del progetto MonoRail) trovate un link ad uno screencast relativo proprio alla validazione. Io l'ho appena guardato e devo dire che colma proprio la mancanza che avevo avvertito...

Alcuni numeri su MySpaces

Che myspace sia un successo mondiale non è una novità ma i suoi numeri fanno veramente girare la testa! Su dotnetrocks trovate un'intervista a Scott Guthrie che rende pubblici alcuni dati riguardanti myspace 2,5 bilioni di pagine visitate al giorno45 milioni di connessioni simultanee Beh non servono commenti...

Calendario pop-up semplice ed intuivo

Mi segno questo ottimo controllo ASP.NET che permette di creare in pochi secondi un gradevole controllo pop-up calendarLo trovate su gotdonet  a questo indirizzo

ObjectDataSource e Data Source Controls

Segnalo una serie di post sul controllo ObjectDataSourcePart 1 - The basics - http://www.manuelabadia.com/blog/PermaLink,guid,c72852ae-1fdd-4934-a715-f565ceaf21cc.aspx Part 2 -  Paging, Sorting, Parameters and Events - http://www.manuelabadia.com/blog/PermaLink,guid,f002752d-1258-475d-9ec0-eee3bd98d0a4.aspxPart 3 - Optimistic Concurrency, parameter merging, caching and design time attributes - http://www.manuelabadia.com/blog/PermaLink,guid,eaa3eed8-f997-43c4-8c30-78c2f72d0c86.aspx Part 4 - Limitations, problems and possible solutions - http://www.manuelabadia.com/blog/PermaLink,guid,32e83915-a503-403e-97c7-e20dcf2e0b7e.aspx ed altri post più generici che riguardano i Data Source Controls Part 1 - http://www.manuelabadia.com/blog/PermaLink,guid,678ed6d8-dce8-40d7-9117-0ffd016fe886.aspx Part 2 - http://www.manuelabadia.com/blog/PermaLink,guid,eba2bb6b-7006-41ae-a035-532021eb5f42.aspx Part 3 - http://www.manuelabadia.com/blog/PermaLink,guid,e4f162b4-2adb-46d7-9d31-be32ff9b1347.aspx Part 4 - http://www.manuelabadia.com/blog/PermaLink,guid,45f5c9da-8a03-423f-b5b6-5882c4bd67e5.aspx powered by IMHO 1.3