Quantcast
Channel: Udi Dahan - The Software Simplist » DDD
Browsing latest articles
Browse All 25 View Live

NHibernate will rule, because Ayende already does

First I find out that NHibernate does support “Persistence by Reachability”, even though the docs say it doesn’t. Next, Ayende makes it support multiple queries in a single DB roundtrip, something I’ve...

View Article


Image may be NSFW.
Clik here to view.

Performant and Explicit Domain Models

Some Technical Difficulties Ayende and I had an email conversation that started with me asking what would happen if I added an Order to a Customer’s “Orders” collection, when that collection was lazy...

View Article

[Podcast] Domain Models, SOA, and The Single Version of the Truth

In this podcast we’ll try to describe some of the pitfalls of trying to split a domain model between multiple services, as well as how SOA side-steps the “single version of the truth” issue found in...

View Article

Image may be NSFW.
Clik here to view.

From CRUD to Domain-Driven Fluency

I got a question about how to stay away from CRUD based service interfaces when the logic itself is like that, and I’ve found that this shift in thinking really needs more examples, so I’ve decided to...

View Article

Image may be NSFW.
Clik here to view.

How to create fully encapsulated Domain Models

Update: The new and improved solution is now available: Domain Events, Take 2. Most people getting started with DDD and the Domain Model pattern get stuck on this. For a while I tried answering this...

View Article


Image may be NSFW.
Clik here to view.

Domain Events – Take 2

Update: The next post in this series is now online here. My previous post on how to create fully encapsulated domain models introduced the concept of events as a core pattern of communication from the...

View Article

Image may be NSFW.
Clik here to view.

DDD & Many to Many Object Relational Mapping

The ability to map entity relationships is broadly supported by many O/RM tools. For some reason, though, many developers run into issues when trying to map a many-to-many relationship between...

View Article

Image may be NSFW.
Clik here to view.

ALT.NET DDD Podcast

I finally got around to listening to the alt.net podcast on domain driven design and heard Rob Conery telling about his experiences with DDD. I’ve met a fair amount of developers that went through a...

View Article


Image may be NSFW.
Clik here to view.

Domain Events – Salvation

I’ve been hearing from people that have had a great deal of success using the Domain Event pattern and the infrastructure I previously provided for it in Domain Events – Take 2. I’m happy to say that...

View Article


Image may be NSFW.
Clik here to view.

Don’t Create Aggregate Roots

My previous post on Domain Events left some questions about how aggregate roots should be created unanswered. It would actually be more accurate to say how aggregate roots should *not* be created. It...

View Article

Image may be NSFW.
Clik here to view.

MSDN Magazine Domain Model Article

My article on “employing the domain model pattern” has been published in the August edition of MSDN Magazine. Here’s a short excerpt: “In this article, we’ll go through the reasons to (and not to)...

View Article

Image may be NSFW.
Clik here to view.

Don’t Delete – Just Don’t

After reading Ayende’s post advocating against “soft deletes” I felt that I should add a bit more to the topic as there were some important business semantics missing. As developers discuss the...

View Article

Image may be NSFW.
Clik here to view.

Progressive .NET Wrap-up

So, I’ve gotten back from a most enjoyable couple of days in Sweden where I gave two half-day tutorials, the first being the SOA and UI composition talk I gave at the European Virtual ALT.NET meeting...

View Article


DDD Exchange London 2010

Last Friday I was in London for the DDD Exchange. It was great seeing Eric Evans again and Greg Young, who I haven’t seen for at least a couple of years. It might take some time for Skills Matter to...

View Article

CQRS, DDD, and NServiceBus video

Following the theme of my last few blog posts, this post will also be pointing you to videos of me talking. After I had finished speaking at QCon London last March, I sat down for a short interview...

View Article


Entities, Transactions, and Broken Boundaries

One of the things I cover early on in my course is the problem with traditional layered architecture driving people to create a business logic layer made up of a bunch of inter-related entities. I see...

View Article

Image may be NSFW.
Clik here to view.

When to avoid CQRS

It looks like that CQRS has finally “made it” as a full blown “best practice”. Please accept my apologies for my part in the overly-complex software being created because of it. I’ve tried to do what I...

View Article


Image may be NSFW.
Clik here to view.

Inconsistent data, poor performance, or SOA – pick one

One of the things that surprises some developers that I talk to is that you don’t always get consistency even with end-to-end synchronous communication and a single database. This goes beyond things...

View Article

Image may be NSFW.
Clik here to view.

Why you should be using CQRS almost everywhere…

… but differently than the way most people have been using it. I think I’ve just about drove everybody crazy now with my apparent zigzagging on CQRS. Some people heard about CQRS first from one of my...

View Article

Recording of joint interview with Eric Evans

Last month both myself and Eric Evans spoke at a conference run by the International Association of Software Architects (IASA) in Madrid. Eric talked about DDD and I talked about CQRS. While the talks...

View Article

Image may be NSFW.
Clik here to view.

Udi & Greg Reach CQRS Agreement

Hard to believe, isn’t it? Although both myself and Greg have been saying (quite publicly) for a long time now that we’re in agreement in about 99% of the DDD/CQRS content we talk about, it turns out...

View Article


Common CQRS Abuses

Abuse #1 “I’m using CQRS because I need to scale.” While CQRS may be more scalable than other more traditional architectures, the use of asynchronous communication often complicates the user...

View Article


Image may be NSFW.
Clik here to view.

Don’t try to model the real world, it doesn’t exist.

Recently I’ve started talking more about modeling and its relation to the real world. Here’s where it all starts from: Don’t try to model the real world, it doesn’t exist. I know that that sounds like...

View Article

Image may be NSFW.
Clik here to view.

UI Composition Techniques for Correct Service Boundires

One of the things which often throws people off when looking to identify their service boundaries is the UI design. Even those who know that the screen a user is looking at is the result of multiple...

View Article

Image may be NSFW.
Clik here to view.

Life without distributed transactions

Occasionally I get questions about the issue of transactional messaging – why is it so important, why does NServiceBus default to this behavior, and if we didn’t use it, what bad things could happen....

View Article

Browsing latest articles
Browse All 25 View Live