DDDD and CQS: Getting Started
There are a number of good resources for getting started on Distributed Domain-Driven Design as well as architectural-level Command Query Separation (not to be confused with CQS as a programming paradigm). Basic Concepts For starters, you should be familiar with "regular" DDD: Domain-Driven Design, DDD Quickly, and Think DDD. Then, you'll probably want to understand about distributed systems because the way that you think about programming in a distributed environment is most definitely not the traditional "request/response" paradigm: Enterprise Integration Patterns, Pattern-Oriented Software Architecture, Volume 4 (Distributed Computing), and Distributed, Event-Based Systems. »