-
23, gen 2014
Cenni su XAML
In questo articolo inizieremo a introdurre il linguaggio di markup XAML, diventato ormai una pietra miliare nello sviluppo di applicativi per Microsoft Windows. Questo argomento si collega direttamente all'implementazione del pattern MVVM in Microsoft .NET, in quanto fornisce gli strumenti base per l'implementazione dei comandi e per legare l'interfaccia grafica al modello logico dell'applicativo.
-
13, gen 2014
Lambda expressions - IL e blando performance test a pari condizioni di esecuzione - parte 1
Era da tempo che mi chiedevo come il compilatore gestisse una funzione lambda. Esistono diverse possibilità al riguardo, tra cui una generazione a Runtime tramite dynamic methods. Oggi ho messo mano al disassemblatore .NET, alla ricerca di una risposta concreta.
-
8, gen 2014
Introduzione alle funzioni lambda in C#
Nei linguaggi di programmazione ad alto livello vengono spesso introdotte particolari tipi di funzioni, dette funzioni anonime o funzioni lambda. Rimanendo su un discorso relativamente semplice, le lambda trovano il loro utilizzo come valore di argomento passato ad altre funzioni. Per loro stessa natura sono una sorta di funzioni annidate, ovvero funzioni dichiarate all'interno di altre funzioni, di cui condividono la visibilità locale delle variabili. Questo le rende particolarmente adatte a query o alberi di espressioni per funzioni di livello superiore. Tratteremo gli alberi di espressioni in un post dedicato. A grandi linee sono una rappresentazione a grafo di una serie di istruzioni imperative da eseguire, che possono essere popolati e compilati a runtime.Utilizzando una variabile dove il puntatore alla funzione viene memorizzato, possono essere rese ricorsive.Personalmente trovo le lambda una componente fondamentale della programmazione moderna. Permettono di scrivere codice molto compatto, sopratutto quando sono necessari degli handlers che verranno utilizzati sporadicamente dove il codice da scrivere risulta particolarmente semplice, e quindi di rendere più leggibile il nostro codice e a volte di generare IL maggiormente ottimizzato. Le lambda sono anche indispensabili per lo sviluppo utilizzando query LINQ, funzionalità diventata indispensabile nella manipolazione di strutture dati complesse.
-
5, gen 2014
Accenni di MVVM - Implementazione base
Nel post precedente, Accenni di MVVM - La teoria, abbiamo introdotto il pattern di sviluppo MVVM, derivato da MVC e pensato per disgiungere completamente la componente View e la componente Model di un software, utilizzando però una "zona franca" dove sia la parte grafica che la parte logica del programma possono accedere bi-direzionalmente.
Procediamo adesso con alcuni esempi di implementazione del pattern MVVM.
-
16, set 2012
Expose the Domain Service to other types of clients, formerly "SOAP Endpoint"
Don't believe who say that it's easy to expose a Domain Services using SOAP endpoints. Expose a RIA Domain Service to other clients, glad to the very infrastructure of RIA Services, it's not painless. First of all, it needs some changes to the web.config, that's not a problem at all.You will get the very painful steps just when try to connect to your domain services. The RIA endpoints are automatically generated by the service itself, so, you have no way to control them (some workarounds exists but I feel like they can create problems in future releases of RIA Services, or even in different configurations, because they're hack on IIS URL registration).