Applying Domain-Driven Design and Patterns: With Examples in C# and .NET

Applying Domain-Driven Design and Patterns: With Examples in C# and .NET
Jimmy Nilsson
18 May 2006
Purchase online

Applying Domain-Driven Design and Patterns is the first complete, practical guide to leveraging patterns, domain-driven design, and test-driven development in .NET environments. Drawing on seminal work by Martin Fowler and Eric Evans, Jimmy Nilsson shows how to customize real-world architectures for any .NET application.

Page 2 of 2
  1. Editorial Reviews
  2. Customer Reviews

Customer Reviews

W. Halsey said
Read Riccardo's review, I completely agree with it. I had really high expectations for this book and I have been sorely disappointed. This book is a total waste of money. I'm not interested in hearing about umpteen different possibilities and accompanying philosophies for every conceivable design decision. Presumably, the author is or should be an expert on enterprise level business applications. At some fundamental level, all custom and/or enterprise business applications are similar. Don't try and tell me Jimmy, you go through all these agonizing thought processes on every application you confront. If I did this on my day to day job as a .NET developer, I would get FIRED. This book reminds me of the Patterns books; I have yet to see a decent design pattern book. One of these days, I am going to quit wasting money on $50 computer books!!

David Adsit said
I really enjoyed reading this book. Jimmy has a very conversational writing style. He will show some code, talk about the pros and cons, make a change, talk about that change and repeat until he has something he is satisfied with. This was very helpful to me as it demonstrated that he has gone through the same growing process that we all need to take as software developers. He is not lecturing from a tower; he is a common programmer who has be able to develop some excellent techniques through research and experience working with others who also seek to be the best they can. His examples are clear and meaningful. He shows how you can actually use TDD to grow a domain model, which is something that has certainly been lacking from other resources I have used in the past. I read the book because I feel like my dev team needs a better focus and I am now more convinced that DDD and TDD will help us focus on creating maintainable code for our enterprise.

Riccardo Audano said
I really cannot figure out how this text has received so many good reviews. The writing style feels like a stream of consciousness from an old colleague after he's been through a really heavy working day, and as for the contents.. well it's a boring mix and rehash of concepts that I hope are familiar even to any decently experienced .NET developer. Like: since you are using a Object Oriented language after all, do model the business you are trying to help with your software with classes, use design patterns when appropriate, test your model and possibly write your test as a means to develop your domain model more clearly, use an Object Relational Mapper like NHibernate to save yourself most of the trouble in solving the Object-Oriented/Relational mismatch etc etc.. All these ideas have been knows to Java developers for ages. True, .NET is behind in test/patterns/model driven design.. but guess what, why is that so? Because if this is the most introductory , detailed, applied, hands on text dedicated to these subjects, well you .NET guys are in big trouble ... And surely no book can introduce them all like this one aims to do, especially if its teaching style is teaching NHibernate saying: "You will find lots of examples of .config files to copy and paste from the NHibernate site so I won't go into detail here, but I 'll just take it for granted that you have a suitable .config file in place". Well, Jimmy, I can find all the documentation I need on that site, but then why on earth did I spend 50 bucks on your tome? As a door stopper? Next time you write a book instead of filling it with unfocused, "high level", vague rambling give some solid, concrete, practical tech help and tutorial. What pisses me off is that the author of this book is a competent developer and a smart guy, but still can come up with such a fluffy, boring, vague, bs-oriented text, and as a final touch cannot resist the temptation to throw in his N(ilsson)Workspace nth level of indirection when we already have a repository, an ORM ... And I always thought that squeezing one own name into a piece of software was the sure signature of a beginner...

David C. Veeneman said
I have come back to this book after first digging into it when it first came out. At that time, I got bogged down and never really made it very far into the book. Here's why: A reader needs a basic conceptual familiarity with DDD before tackling this book. I'd suggest Domain-Driven Design: Tackling Complexity in the Heart of Software and Patterns of Enterprise Application Architecture (Addison-Wesley Signature Series). You might be able to get a running start by reading the free e-book "Domain Driven Design Quickly" (, but the Fowler book is particularly helpful, since it catalogs and explains a number of the patterns used in Nilsson's book.

Don't assume this book is outdated because it uses NHibernate instead of LINQ or the ADO Entity Framework. If you are a true DDD developer, neither product is quite 'there' yet, and NHibernate remains the best ORM framework available. And if the Entity Framework does become a viable ORM product in Version 2, the skills taught in this book should transfer easily.

In short, this book presents a really good nuts-and-bolts approach to explaining how to do DDD, but it assumes you already have a pretty good understanding of what DDD is all about.

Ramin said
I like the author's modesty (very ofter his sentences start with "I think"), his rational thinking and his quoting the relevant big guys. He uses a very nice and simple language throughout the book which makes it an easy read. But sometimes, he is dragging on a subject for too long, for that I have to give it 4.5 stars.

You might also like...



Why not write for us? Or you could submit an event or a user group in your area. Alternatively just tell us what you think!

Our tools

We've got automatic conversion tools to convert C# to VB.NET, VB.NET to C#. Also you can compress javascript and compress css and generate sql connection strings.

“Computer science education cannot make anybody an expert programmer any more than studying brushes and pigment can make somebody an expert painter” - Eric Raymond