Is CQRS a fad?

January 17th, 2012 by admin Leave a reply »

If you follow a lot of the .net development world, there is a new term being thrown around a lot called CQRS, it stands for Command and Query Responsibility Segregation.  There are a few key players in this up and coming pattern of development if you want to know more, I have provided links below to some of the guys I have read up on.  At the heart of this pattern is the idea of event sourcing, or the ability to create a series of commands and events that will create your objects in your system.  This is the key feature of the pattern in my opinion and I think this is why there is an argument that the pattern or the little community that is growing is considered a fad.

As for the rest of the pattern, if you look into it much, the community will tell you that the bits and pieces are “An implementation detail” and not really a big deal.  I think this is where the rub comes in for a lot of folks looking into using this pattern for their next distributed project.  When it all boils down to it, what are you trying to get accomplished with a distributed system?  You are trying to get data from point A to point B.  I guess if you want to stick a name on it, then CQRS could be one, or we could just call it a distributed system, doesn’t really matter to me.  I know that the java and ruby guys have been doing systems like this for quite a while now and they do not have a term for it besides “distributed”.  Anyways, just thought I would throw this out there for anybody doing research into writing their next distributed app, references below.

Greg Young – Seems to be go to guy for CQRS
Rinat Abdullin – Another guy right on par with Greg
Udi Dahan – the creator of NServiceBus
Mark Nijhof
Jonathan Oliver – Creator of a very good Event Store for a variety of Durable Storage mechanisms.


Leave a Reply