Methods for managing complex software construction following the practices, principles and patterns of Domain-Driven Design with code examples in C#
This book presents the philosophy of Domain-Driven Design (DDD) in a down-to-earth and practical manner for experienced developers building applications for complex domains. A focus is placed on the principles and practices of decomposing a complex problem space as well as the implementation patterns and best practices for shaping a maintainable solution space. You will learn how to build effective domain models through the use of tactical patterns and how to retain their integrity by applying the strategic patterns of DDD. Full end-to-end coding examples demonstrate techniques for integrating a decomposed and distributed solution space while coding best practices and patterns advise you on how to architect applications for maintenance and scale.
Offers a thorough introduction to the philosophy of DDD for professional developers
Includes masses of code and examples of concept in action that other books have only covered theoretically
Covers the patterns of CQRS, Messaging, REST, Event Sourcing and Event-Driven Architectures
Also ideal for Java developers who want to better understand the implementation of DDD
Most Helpful Customer Reviews
Domain Modeling is hard. Teaching & presenting about Domain Modeling is even harder (I've tried it, honest word). Writing a *good* book about Domain Modeling is ninja-level challenge. And fortunately PPPofDDD is a *good* book about Domain Modeling. Maybe it's more 4.5 stars than 5, but I still believe it's more 5 than 4. Why?
1.) Author does not try to re-tell The Blue Book. I really, really had the honest feeling that his greatest intention was to show how do you use DDD principles while building actual systems. Not just on line-of-code level. And what's important, I think he did it well, at least clearly better than VV in Red Book.
2.) It's quite easy to write about desing in a boring way: either because you being too abstract (only conceptual notions) or to specific (by diving deep into the examples you readers do not give an f-word). But to be honest this book is not boring -> maybe it's author's writing style. Anyway, this book is in general more...
This is one of those rare, stellar software books where it's evident that great care and attention was lavished in preparing it. Profusely illustrated, clearly articulated, replete with marvelous end-of-chapter summaries, this book is a keeper. I'm a Java / Scala programmer, working in the Big Data area, and would have preferred the code examples to be in either of these languages. But I must confess that the C# code is pristine enough in its quality that it it's easy to follow along.
The content and crystal-clear presentation is abundantly evident throughout, though I feel compelled to point out two stand-out chapters that are not to be missed:
"Chapter 21: Repositories Repositories mediate between the domain model and the underlying data model. They ensure that the domain model is kept separate from any infrastructure concerns."
"Chapter 24: CQRS: An Architecture of a Bounded Context CQRS is a design pattern that creates two models...
I have not read the other big books on domain driven design, so I cannot compare them, however I found this book extremely well written and easy to follow. After first watching the PluralSight training, I came away with a bit of theoretical knowledge and a ton of questions -- and this book answered a ton of them. I would start off a bit puzzled at how all the pieces fit together, and then a sentence or example or diagram would bring it all into place and suddenly so many more things would make sense. Really, really a great read.
While there are some topics I wish were covered a bit more, or a bit differently, these are almost all topics that are much more specific to the domain space that I am working on and probably would have no place in the book.
If you're just starting out like I was, read through this book, try out a practical example on your own, and do a lot of blog reading to fill in the specific gaps. I do recommend starting off by creating a...
The authorised South African distributor of this product is under no obligation to honour the manufacture's guarantees/warranties or to provide after-sales service.
Please note that this item is imported from the USA, and is designed to be used in the USA. In addition, if the unit is powered it will come with a US plug and an adapter/transformer may be required. Please click here for more information on power requirements, or check with us if you are unsure or need any assistance!
Please also note that certain items cannot be imported, these include Alcohol, Animals, Batteries, Flammable Materials, Currency, Food, Furs, Chemicals, Explosives, Medications, Plants, Seeds, Supplements, Pressurized Cans, Tactical Equipment, Vitamins, Weaponry and Weaponry Accessories. In these cases, the item and information is displayed for reference purposes only. If you are not sure if we are permitted to bring an item, please send us an e-mail with a link to the item to confirm.
Please also ensure that you are ordering the correct item for your particular application as returns to the USA are costly. Product reviews are also provided for most of our items, which can give you a good idea for possible things to look out for and the quality of the item. By clicking Add to Cart, you are confirming that the item is correct and you accept the conditions listed here.