Sep
30
2009
Value objects are one of the basic building blocks of object domain driven design. The pattern makes manipulating objects very easy and is very easy to understand. Yet often I see teams with a strong preference to entities, making clean design harder to sustain and system much harder to write and more error-prone on the end. In most cases, this oversupply of entities comes from the fact that critical business data has to be persisted and by persisting the object we give it many traits of an entity. In my opinion, this is jumping to conclusions too quickly. I prefer values over entities because of all the management advantages that they have. Persistence is not an excuse to turn everything to entities. In this post, I’ll show you several tricks how you can persist object and still keep all the benefits of value objects. Continue Reading »
Sep
02
2009
It’s amazing how some seemingly technical problems can be very dangerous to solve by IT in isolation. One such issue is the question whether to merge similar code from different projects into a shared base or not. It looks as if it is completely in the IT domain, but it essentially lies on the critical business path and the answer to the question depends very much on the market situation in which the business operates and marketing plans of the company. Continue Reading »
Aug
25
2009
I’m doing a talk at the new DDD user group meeting in London on September 28th about persistence challenges in DDD, especially around value objects.
I’ll explore several approaches to persisting value objects, present best practices and talk about common pitfalls for value object persistence.
For more information and to register see
http://skillsmatter.com/event/design-architecture/ddd-and-relational-databases-the-value-object-dilemma
Aug
03
2009
We had a fantastic discussion on delivering value with software yesterday at Alt.NET UK, centred around two proposed topics: “From concept to cash” and “Building software that matters”. Starting with questions on how do we get to cash quicker, how do we make sure that we’re building the most valuable software possible and how do we measure progress, this open space discussion touched upon some very interesting ideas to improve software processes. Continue Reading »
Jul
05
2009
Here’s the video of my presentation titled ‘DDD in a distributed world’ from the DDD Exchange 09 conference in London last month. In the presentation, I discuss how domain driven design aggregates help build distributed systems that work better and solve latency, serialization and distribution problems. You can also download the slides and read a shorter version of this presentation.