The amount of frustration I felt reading this book is directly proportional to the value I see in domain-driven design.
As others have noted you'll have to read a lot for little information. I totally agree and here are a couple of examples I have at hand:
[p. 402 - Repositories - Introduction]
"there are circumstances under which a collection-oriented design will work for you, and circumstances when it is best to use a presistence-oriented design. I first discuss when to use and how to create a collection-oriented Repository and follow that with a treatment of persistence-oriented ones.";
[same page, two paragraph below under the title Collection-Oriented Repositories]
"it's possible that it won't work for you. If your persistence mechanism prevents you or hampers your ability to design with a collection perspective, see the following subsection. I address the conditions under which I think collection-oriented design works best. To do so I need to estalish some fundational background."
Other times I found the almost exact same text presented twice on the same page:
[p. 302 - in the highlighted section titled "Be Careful about What the Event handler Does"]
"Remember, the Application Service controls the transaction. Don't use the Event notification to modify a second Aggregate instance. That breaks a rule of thumb to modify one Aggregate instance per transaction."
[and immediately after]
"One thing the subscriber should not do is get another Aggregate instance and execute modifying command behavior on it. This would violate the modify-single-aggregate-instance-in-single-transaction rule of thumb, as discussed in Aggregates."
I found it really upsetting. Especially as I had to filter through all this zero-value chatter, to learn something about the topic. This is not the only case where information was obscured under heaps of words. My guess is that the book could have been at least 2/3 of its size if the author had wrote it in a concise form. Considering it's a book for professionals I find it unacceptable.
There is also another aspect I disliked about the writing style, which is the use of double negation, and more in general a wrong-example-first presentation style.
An example of a sentence using double negation is at p. 64: "Of course, there is no rule that says that more meaning cannot be added to these names. That's a decision of your team".
How does that feel compared to this: of course, your team might want to add more meaning to these names.
Regarding the "wrong-example-first" style, what I mean is that the DDD principles are often (if not always) introduced with a bad-design example first. Followed by chatter and then the good-example. While I think it is useful to compare good and bad designs, I found it tiring to read the description of a bad-example while waiting for so much anticipated concepts of DDD to be presented. I thought I was supposed to keep the bad-example in mind in order to relate it with what was about to follow. I thought that would give me a better understanding. But in the end I found it more tiring than useful.
In retrospective I can definitely say that's not the way I like to learn. Imagining I wanted to learn how to play tennis I'd prefer to be shown how to move properly before being warned about pitfalls and typical errors. Likewise I would have preferred to be presented a clear, as simple as possible, concept to be memorized and then used as an anchor to understand the dangers I could face departing from it.
I'm not sure what the average learning style of the target reader is, perhaps for someone else reading what-not-to-do first works better.
I've been also deluded by the examples inspired by "real-life", as found the stories about this hypothetical team entering the world of DDD just a boring self-affirming narrative in third-person of what the team did wrong initially and how happy they where when they finally embraced the tenets of DDD. I was hoping to read some typical QA dialogs bewteen developers and business domain experts. I was hoping to be presented typical cues to look for in a dialog indicating an DDD pattern might be appropriate.
Perhaps that's expecting too much, yet I did not gain much insight reading the story of the SaasOvation team and this contributes to my bad impression about the book.
To conclude, I think the intention behind this this book is good. I appreciated the emphasis on the importance of strategic design versus simplistic adoption of tactical patterns. I guess the author loves and knows how to properly apply DDD principles in real life, and I think he should consider to rewrite it.
To the reader looking for an introduction to DDD, I'd say: look elsewhere.
I've found a few reviews about Evan's seminal book saying it's very verbose as well, and new concepts emerged after its publication are not covered, so perhaps not that one either.
== UPDATE 7 Jun 2015 ==
While writing this review I noticed another book titled "Patterns, Principles and Practices of Domain-Driven Design". I'm not affiliated with the author or anything related with that book. I was so frustrated with "Implementing, Domain-Driven Design" I thought I had better find something else to read.
The two books have a very similar table of contents. So I picked a topic and compared how it was presented before buying it. Well, you know I decided to buy it after that test and so far I've been loving 95% of the pages.
The book style is what I look for: consistent and concise language, general to detail presentation style, right-first-wrong-after examples, (really) meaningful concepts highlighted, simple diagrams to aid visualizing the conceptual landscape.
I'm not writing any excerpt here as it would be premature, and I'll finish reading it before drawing the conclusion, but if I'll be happy as I am now when I finish it I'll give it 4+ stars without the shadow of a doubt.
It's big (700+ pages) but it's well structured and I think easy for the reader to find only the relevant parts. The size is also justified by plenty of pictures (diagrams and UI screenshots) and code presented in the second half. The examples are written in C#, I'm a Java developer. I had no issue understanding what they mean. Actually I preferred them as C# is more concise, so less to read to get what I need.
I hope this will help the community as there are so many projects turning in a "big-ball-of-mud"!