di: Andrea Boschin 28 Aprile 2010
Ora che sono stati delineati i concetti che governano il funzionamento del pattern MVVM vale la pena di provare a realizzare una semplicissima applicazione il cui scopo sia di dimostrare come occorre strutturare classi, proprietà e quant'altro. L'applicazione si occuperà di visualizzare un elenco di prodotti e quindi innanzitutto dimostrerà come raccogliere i dati dal model e visualizzarli all'utente.
Prima di tutto quindi, partendo dal basso, il Model espone un metodo per estrarre i prodotti secondo un criterio ben definito. Nel caso dell'esempio in questione il metodo accetta una stringa in ingresso con lo scopo di simulare una ricerca; la stringa verrà usata in seguito per selezionare i prodotti che la contengono.
public class ProductRepository : IProductRepository
{
public void GetProductsByKeyword(
string searchKey,
Action<IEnumerable<Product>> success,
Action<Exception> fail)
{
// qui chiamo un WebService oppure WCF Ria Services
ProductsClient client = new ProductsClient();
client.GetProductsByKeyword +=
(s, e) =>
{
// qui ho il risultato...
if (e.Error != null) fail(e.Error);
// ...e lo ritorno
success(e.Result);
};
client.GetProductsByKeywordAsync(searchKey);
}
}
A prima vista può sembrare strano il modo con cui viene ritornato il risultato del metodo. Bisogna però tenere in considerazione che in Silverlight l'accesso ai dati sarà sempre mediato da un WebService, piuttosto che da un Ria Service e questa operazione sarà sempre asincrona. Strutturare il metodo in questo modo consente di trarre vantaggio dalle lambda expressions e mantenere il codice più compatto senza dover ricorrere a delegate ed eventi.
Guida Windows Azure Code SnippetsLe migliori pratiche per far girare le applicazioni "in the cloud",... |
Guida ASP.NET MVC Best PracticesUn workflow dettagliato e ricco di suggerimenti pratici per... |
Guida ASP.NET Starter KitUn modo semplice per imparare ad utilizzare le tecnologie Microsoft... |
Ogni giovedì, direttamente nella tua e-mail: articoli, guide, tutorial e script ASP, ASP.Net, SQL server e IIS.
Iscriviti alla newsletter
|
|
Corso Progettazione database11 Maggio 2012 a Milano |
|
|
Amministratore di Reti Windows Server 200811 Giugno 2012 a Milano |
|
Nessun corso previsto |