C# Asyn/Await and Task Parallel Library

In order for a native desktop application to be responsive, I mean, not to freeze whilst sending a request over the network or processing a heavy CPU operation, these operations have to run in a separate thread. .Net 4.0 introduced promises (a well-known concept for...

DTO vs Domain Models

Note: read Part II of this post here. A Data Transfer Object (DTO) is an object intended to carry data, for example between the client and the server or between the UI and the domain layer. It exposes fields or properties (getters and setters) publicly. Sometimes a...

We were part of CukeUp! 2015

I had the pleasure of speaking at CukeUp! this year (2015), the fifth edition of Cucumber’s conference which is more about BDD than Cucumber itself, although there are always updates on the state of the tool (this year Matt released version 2.0 during his talk!)...

Re-simplificalo: objetivo por release

Este post habla de dos de los valores de XP: Simplicidad y Feedback. Fundamentales y habitualmente olvidados. Cuando escribimos software o dibujamos una interfaz de usuario, estamos dando forma a una solución concreta de las muchas que puede tener un problema. Al...

DDD: Entity or Value Object?

Depending on the context certain concept may be modeled as an entity or as a value. It could be both in different bounded contexts. To me, good heuristics to choose between entities and values are life cycle and mutability. Values are immutable, represent constants. A...

DDD Paradoxes

I read Eric Evans’ book on DDD years ago and fall asleep with it. Didn’t really took much value from it. Last year I read Vaughn Vernon’s book on IDDD and I found it more interesting because of the code examples but still too abstract. Too much...

2014: Un gran año

Últimas horas del 31 de Diciembre de 2014. Para millones de personas es un día de celebración. Aproximádamente el 75% de la población cambia de año cada primero de enero siguiendo el calendario gregoriano, aunque solo unos pocos podemos hacer una fiesta. Para muchos...