Start reading Applying Domain-Driven Design and Patterns on your Kindle in under a minute. Don't have a Kindle? Get your Kindle here or start reading now with a free Kindle Reading App.

Deliver to your Kindle or other device

 
 
 

Try it free

Sample the beginning of this book for free

Deliver to your Kindle or other device

Sorry, this item is not available in
Image not available for
Colour:
Image not available
 

Applying Domain-Driven Design and Patterns: With Examples in C# and .NET [Kindle Edition]

Jimmy Nilsson
2.2 out of 5 stars  See all reviews (4 customer reviews)

Print List Price: £46.99
Kindle Price: £44.64 includes VAT* & free wireless delivery via Amazon Whispernet
You Save: £2.35 (5%)
* Unlike print books, digital books are subject to VAT.

Free Kindle Reading App Anybody can read Kindle books—even without a Kindle device—with the FREE Kindle app for smartphones, tablets and computers.

To get the free app, enter your e-mail address or mobile phone number.

Formats

Amazon Price New from Used from
Kindle Edition £44.64  
Hardcover £46.99  
Kindle Daily Deal
Kindle Daily Deal: Up to 70% off
Each day we unveil a new book deal at a specially discounted price--for that day only. Learn more about the Kindle Daily Deal or sign up for the Kindle Daily Deal Newsletter to receive free e-mail notifications about each day's deal.

Book Description

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. You'll learn how to prepare domain models for application infrastructure; support business rules; provide persistence support; plan for the presentation layer and UI testing; and design for service orientation or aspect orientation. Nilsson illuminates each principle with clear, well-annotated code examples based on C# 2.0, .NET 2.0, and SQL Server 2005. His examples will be valuable both to C# developers and those working with other .NET languages and databases -- or even with other platforms, such as J2EE.


Product Description

From the Back Cover

“[This] is a book about design in the .NET world, driven in an agile manner and infused with the products of the enterprise patterns community. [It] shows you how to begin applying such things as TDD, object relational mapping, and DDD to .NET projects...techniques that many developers think are the key to future software development.... As the technology gets more capable and sophisticated, it becomes more important to understand how to use it well. This book is a valuable step toward advancing that understanding.”

–Martin Fowler, author of Refactoring andPatterns of Enterprise Application Architecture

 

Patterns, Domain-Driven Design (DDD), and Test-Driven Development (TDD) enable architects and developers to create systems that are powerful, robust, and maintainable. Now, there’s a comprehensive, practical guide to leveraging all these techniques primarily in Microsoft .NET environments, but the discussions are just as useful for Java developers.

 

Drawing on seminal work by Martin Fowler (Patterns of Enterprise Application Architecture) and Eric Evans (Domain-Driven Design), Jimmy Nilsson shows how to create real-world architectures for any .NET application. Nilsson illuminates each principle with clear, well-annotated code examples based on C# 1.1 and 2.0. His examples and discussions will be valuable both to C# developers and those working with other .NET languages and any databases–even with other platforms, such as J2EE. Coverage includes

 

·        Quick primers on patterns, TDD, and refactoring

·        Using architectural techniques to improve software quality

·        Using domain models to support business rules and validation

·        Applying enterprise patterns to provide persistence support via NHibernate

·        Planning effectively for the presentation layer and UI testing

·        Designing for Dependency Injection, Aspect Orientation, and other new paradigms

 

About the Author

Jimmy Nilsson owns and runs the Swedish consulting company JNSK AB. He has written numerous technical articles and two books. He has also been training and speaking at conferences, but above everything else, he is a developer with almost 20 years of experience (www.jnsk.se/weblog/).


Product details

  • Format: Kindle Edition
  • File Size: 2055 KB
  • Print Length: 570 pages
  • Page Numbers Source ISBN: 0321268202
  • Simultaneous Device Usage: Up to 5 simultaneous devices, per publisher limits
  • Publisher: Addison-Wesley Professional; 1 edition (8 May 2006)
  • Sold by: Amazon Media EU S.à r.l.
  • Language: English
  • ASIN: B0054KOKQQ
  • Text-to-Speech: Enabled
  • X-Ray:
  • Word Wise: Not Enabled
  • Average Customer Review: 2.2 out of 5 stars  See all reviews (4 customer reviews)
  • Amazon Bestsellers Rank: #532,548 Paid in Kindle Store (See Top 100 Paid in Kindle Store)
  •  Would you like to give feedback on images?


More About the Author

Discover books, learn about writers, and more.

What Other Items Do Customers Buy After Viewing This Item?


Customer Reviews

2.2 out of 5 stars
2.2 out of 5 stars
Most Helpful Customer Reviews
15 of 15 people found the following review helpful
3.0 out of 5 stars A frustrating read 3 Sept. 2006
By C. Jack
Format:Hardcover|Verified Purchase
I had very hight expecations for this book and when I started reading it I believed it might live up to them. However as I got into it I found it promised much but delivered far too little.

* Pros *

- There are no other books that currently cover DDD with .NET

- Some of the chapters do provide useful content.

- If you are going to be doing DDD then this, plus the book by Eric Evans and the domain driven design Yahoo group will really get you going.

* Cons *

- The early chapters deal with things that are covered better elsewhere such as TDD and refactoring, if you want to understand the two concepts your far better starting going to Robert Martins Agile Priciples development book.

- The really important chapters are on DDD. Take chapter 6 on how to prepare for persistence. Throughout a large part of the chapter the author refers to his own NWorkspace abstraction layer. The layer itself sounds quite good but he doesn't let you download it and doesn't describe in enough detail for you to really get your head around how it works and whether you think its worth having. This leaves you in an odd no mans land, trying to make sense of code examples that refer to classes/interfaces that you cant get your hands on:

IQuery q = new Query(typeof(Order), typeof(OrderSnapshot)

, new string[]{"Id", "OrderNumber", "Customer.Id"

, "Customer.Name"});

q.AddCriterion("Year",year);

result _ws.GetByQuery(q);

- Shorter, more focused, chapters would have made it easier to look things up. In actual fact in a few cases I've thought "Ahh, I'm sure the book has something to say about that" only to find that I couldn't actually find the section that he discussed it in.
Read more ›
Comment | 
Was this review helpful to you?
12 of 13 people found the following review helpful
1.0 out of 5 stars Theory++, practical-- 8 Nov. 2006
By Stefan
Format:Hardcover
I got very excited just reading the title of this book. Finally, a book that brings DDD into the real world with samples, practical advice and actual implementations. I was determined to extract every ounce of goodness from this book to apply in my professional development career.

I gave the author his space and allowed him the first couple of chapters to do his scene setting. TDD, yes, heard of that. Refactoring another "Hello World", yes, thanks, seen that a million times before. Sadly, the book doesn't really go anywhere from there. The author does a DDD tour but unfortunately does not deliver on its promise of C#-specific goodness. The author's samples are weak, short and fanciful. The author repeatedly asks the reader to "trust him" and "not worry about the details". However, once you get to the end of the book you are sadly lacking in the details that would make any of the book's concepts and samples at all useful.

The only positive thing I can say about this book is that it has breadth. The author is obviously passionate about the topic. Alas, it remains a theoretical and academic discussion, nothing more.
Comment | 
Was this review helpful to you?
3 of 3 people found the following review helpful
4.0 out of 5 stars For the Designer in us all 12 Dec. 2006
Format:Hardcover
I like this book! The best thing about the book for me is that the author does take you on a journey of design discovery using TDD techniques. Rather than showing you "the only true solution" the author formulates a design then critiques it with the reader, refactors it, and moves on. This approach allows you to really see and understand the refactorings. The writing is passionate, informed and the dialog with the reader enhances understanding. I'm a Java guy but found the C#/.Net stuff sample code clearly understandable. He also uses NUnit (for TDD) and NHibernate (O/R mapping). I'm used to JUnit and Hibernate so no probs there either. If you've been around the block a few times, this book will appeal to you.
Comment | 
Was this review helpful to you?
1.0 out of 5 stars One Star 29 Dec. 2014
By Alberto
Format:Hardcover|Verified Purchase
A waste of space on my bookshelf.
Comment | 
Was this review helpful to you?
Most Helpful Customer Reviews on Amazon.com (beta)
Amazon.com: 3.9 out of 5 stars  23 reviews
44 of 46 people found the following review helpful
4.0 out of 5 stars Unifying Tome for Domain Driven Design and Implementation with .NET 9 Aug. 2006
By Thomas Beck - Published on Amazon.com
Format:Hardcover
I was surprised that this book slipped under my radar for almost 3 months. I've been on the lookout for just such a unifying tome of knowledge that relates patterns and domain-driven design (DDD) to a practical .NET example for quite some while. The book delivers well on its promises, significantly surpassing the only other real competitor, Foundations of Object-Oriented Programming Using .NET 2.0 Patterns. The pros and cons, as I see them, are outlined below:

PROS

* Combines the ideas of Domain Driven Design (Evans) with Patterns of Enterprise Application Architecture (Fowler). These books are pretty much mandatory reading prior to diving into this book.

* Draws upon a myriad of other well-known sources, including materials from Refactoring to Patterns and the GoF, work from Johnson and Lowy, as well as a rare reference to Naked Objects. The more experienced and better read you are, the more this stuff will make sense.

* Rare .NET coverage of advanced concepts like Plain Old CLR Objects (POCOs), persistence ignorant (PI) objects, O/R mapping with NHibernate, Dependency Injection, Inversion of Control, and Aspect-Oriented Programming.

CONS

* While some sections are really insightful and could contain more interesting materials, other sections seem to drone on too long. The work on defining the NUnit tests, in particular, flows like a stream of consciousness and doesn't really add a lot of structured value to understanding DDD, patters, or TDD for that matter.

* Embedded comments in the text adopt from the style used in Framework Design Guidelines. It worked very well for Cwalina / Abrams in their book because it seemed planned in from the outset. Comments like "one reviewer commented on the code with the following, more succinct version" seem like editorial comments left in and not collaborative authoring by design.

All-in-all a very solid book that fills a unique market niche, leaving it pretty much without peers. If Amazon had a 4.5 starts rating, Applying DDD would get it. As a secondary reference book, it doesn't offer the earth shattering insights of some of the innovative source materials found in the Fowler Signature Series, for example. It does, however, weave together an interesting example of how to tie all of these concepts together for the .NET architect looking to take their understanding to the next level.
23 of 26 people found the following review helpful
5.0 out of 5 stars "Down to Earth" DDD with "real-world" examples. 5 Jun. 2006
By Murat Uysal - Published on Amazon.com
Format:Hardcover
I was expecting this book for a looong time. For those who are new to DDD and want to be a good practitioner, I think this is a must read. The reason is not only that there are not many books in this topic (check out Eric Evan's DDD book if you haven't done so) but also there are not many "down-to-earth" books available. In this book you will find many "real world" examples where the author discusses the pros and cons. I like the books that discuss the trade-offs instead of the ones that try to give `universal" answers; as "it depends" is usually the answer to most of the questions in software development.

Apart from DDD, if you are also new to TDD, PEAA (Patterns of Enterprise Application Architecture by Martin Fowler, another great book), O/RM (NHibernate to be specific), Mocking frameworks (NMock to be specific), SOA, AOP etc you will find introductory level information in the book which is just enough to get started. With this book the link between the PEAA and DDD is clearer than ever. It does a great job on how to use PEAA and DDD in a complementary way.

I should also mention the format of the book; it is easy to read and grasp. No need to mention that the idea of having guest authors for specific topics is just great. And also as readers we might be subject to a new trend; having "product placements" in the book :) Some Swedish brands made it to the book as the author being a Swedish guy, which I think totally fair :)

I want to thank Jimmy and all the coauthors for this great work.
7 of 7 people found the following review helpful
2.0 out of 5 stars Waste of time, waste of money 17 Dec. 2011
By Konrad Garus - Published on Amazon.com
Format:Hardcover
The reviewer saying it sounds like a tired colleague's random ramblings is spot on. It's very hard to read, and not because the matter is difficult, but because it's terribly written. Fowler's and Evans' books are masterpieces. Very clean, focused, inspiring and readable. This one is nothing like that. A bit of TDD, a bit of NHibernate, but little concrete core.

What's worse, very often I find myself in complete disagreement with how the author is using various techniques. It hurt to read some of the TDD pieces, and it seems the author is yet to discover SOLID. Eventually the domain model looks like a complex, tangled ball of mud, not a consistent, elegant piece of art I expected.
24 of 31 people found the following review helpful
3.0 out of 5 stars Not for beginners 8 May 2007
By Amazon Customer - Published on Amazon.com
Format:Hardcover
At the start the author says that this book is for "a wide target audience" and that if you don't have some knowledge of "object-orientation and C#" interest and enthusiasm will compensate for any lack of prior knowledge. I've been a web dev for over 10 years and know more than something about object-orientation etc. but this book is NOT for a beginner or even an intermediate programmer. On page 4 he starts discussion something called "case focus" with no definition and moves right into Domain-Driven Design Focus, again without explaining what this means. I found the book quite full of jargon and buzz words with a large presumption that one has already had experience in these topics. He says he is trying to build a bridge between users and developers. Most users will glaze over after the first chapter without any clue as to what he is talking about. If you are an advanced object-oriented programmer familiar with UML and other design technologies then this might be the book for you. Sorry. But a book this complex is not a bridge between users and developers.
4 of 4 people found the following review helpful
5.0 out of 5 stars When it was published, this was THE $%#@ 8 Jun. 2010
By David W. Martines - Published on Amazon.com
Format:Hardcover
Having read POEAA and DDD, I wondered where to go next, how to put it all together. Apparently the author was thinking the same thing. This book helped clear up a lot of the concepts that the previously mentioned classics introduced. The book is a joy to read and the author's tone is very humble and informal. Following along with the author's thought/design process, I feel I really learned a lot. I'm still not sure about the "rules" stuff, but the the treatment of aggregates is brilliant. However, the book sort of runs out of steam as it gets way too into the infrastructure and persistence concerns. At the time, I had never used NHibernate although I wanted to - so I really ate up the goodies here. But looking at it now, with new versions of NHibernate and Entity Framework, etc., this section seems sort of out of place. Might have been a good web-delivered supplement. (BTW - I would have paid extra for the actual code to NWorkspace!) The appendices are great, and I actually keep coming back to them - the sections on SOA, IOC and AOP were extremely enlightening for me. BUT - I'm not sure how well this stuff will stand the test of time. It is/was very timely material. Not to give a bad review though - I heartily recommend this to anyone doing DDD in .NET
Were these reviews helpful?   Let us know
Search Customer Reviews
Only search this product's reviews

Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
Topic:
First post:
Prompts for sign-in
 

Search Customer Discussions
Search all Amazon discussions
   


Look for similar items by category