novembre 2013 Entries

Modellare per contesti, comandi ed eventi…

Perché DDD fa così fatica a prendere piede? Perché ogni volta che parli con qualcuno di DDD, o CQRS o EventSourcing, il discorso cade sempre sul "...e ma è costoso..."? IMHO Siamo ottusi, manager in cima alla lista (fate il vostro, facciamo il nostro, mea culpa). Da tecnici quali siamo la mostra mente è inevitabilmente deviata e pensiamo immediatamente alle implicazioni tecnico/tecnologiche che le scelte progettuali/architetturali portano con se. Peccato che come al solito abbiamo letto il manuale delle istruzioni a pezzi, saltando qua e là, comprendendo poco o nulla della visione d'insieme. Visione...

posted @ mercoledì 27 novembre 2013 10.40 | Feedback (1)

Radical Take #4: annullato

Con grande rammarico causa pressanti e impellenti impegni lavorativi devo purtroppo annullare l’appuntamento di stasera. Avevo previsto di preparare il materiale nel weekend, ma ho lavorato tutto il weekend. Mi scuso con tutti gli iscritti per il disguido e vi aggiorno a breve su quali potrebbero essere le nuove date. Scusate ancora. .m

posted @ lunedì 25 novembre 2013 13.51 | Feedback (0)

Lucia e il software

Ultimamente mi ritrovo spesso ad osservare mia moglie mentre ha a che fare, dovrei dire combatte, con del software, dovrei dire con del software pietoso. L'unica vera conclusione che posso trarre è che complessivamente scriviamo del software che definire anche solo accettabile è quantomeno stupido e senza senso. Nella stragrande maggioranza dei casi, usando anche software (web o meno che sia) blasonato fa molta fatica a raggiungere gli obiettivi che si è prefissata, siano essi un acquisto online o la semplice stampa di un documento PDF. Cercando di essere il più obiettivi possibili e partendo dal presupposto...

posted @ giovedì 21 novembre 2013 9.35 | Feedback (6)

Radical: “Display” localizzato di una proprietà

Come precedentemente annunciato è adesso possibile localizzare il “display name” di una proprietà del ViewModel, per ora solo per la gestione degli errori, per ora… :-) [Display( ResourceType = typeof( Properties.Resources ), Name = "MyProperty" )] public String FirstName { get { return this.GetPropertyValue( () => this.FirstName ); } set { this.SetPropertyValue( () => this.FirstName, value ); } } Utilizzando l’attributo Display, delle DataAnnotations, al posto dell’attributo DisplayName, è possibile localizzare il valore. Attenzione che per come funzionano le DataAnnotations le risorse devono essere pubbliche, cosa che purtroppo non è il comportamento...

posted @ martedì 19 novembre 2013 11.04 | Feedback (0)

Radical: Take 4, data e agenda (proposta)

Nonostante il disastro totale che è la mia agenda in questo periodo ce la possiamo fare :-) La data in cui riesco a pianificare e rendere sostenibile la preparazione del quarto appuntamento con Radical è Lunedì 25/11 alle 21.30 (magari anche un po’ prima, ma quello lo decidiamo insieme). L’agenda, o meglio una possibile idea di agenda, è: Introduzione del polimorfismo nel modello dati al fine di capire come gestire visualizzazioni condivise e editing diverso; Approfondimento dei concetti di “UI Composition” per capire come strutturare un’applicazione a moduli/plugin; ...

posted @ giovedì 14 novembre 2013 10.19 | Feedback (0)

Radical: “DisplayName” di una proprietà

A seguito di una richiesta da parte di un utente ho aggiunto una piccola ma a lungo parcheggiata funzionalità nella gestione degli errori offerta da Radical. è finalmente possibile specificare un DisplayName per le proprietà che vengono validate, come si vede dall’esempio la proprietà validata si chiama Text, o Sample, ma viene visualizzato, nel riepilogo degli errori, un nome diverso. La cosa è apparentemente semplice, ma volendo supportare la localizzazione (feature che arriverà a breve) non è proprio così immediata. Per tagliare corto quello che potete fare adesso è usare la validazione come avete sempre fatto,...

posted @ lunedì 11 novembre 2013 10.22 | Feedback (0)