| | |  | Software Engineering | Home » » » Applying Domain-Driven Design and Patterns: With Examples in C# and .NET | | | | | | | 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 Details: | | | Author:
| Jimmy Nilsson | | Hardcover:
| 576 pages | | Publisher:
| Addison-Wesley Professional | | Publication Date:
| May 18, 2006 | | Language:
| English | | ISBN:
| 0321268202 | | Product Length:
| 9.41 inches | | Product Width:
| 7.21 inches | | Product Height:
| 1.39 inches | | Product Weight:
| 2.41 pounds | | Package Length:
| 9.3 inches | | Package Width:
| 6.9 inches | | Package Height:
| 1.3 inches | | Package Weight:
| 2.1 pounds | | Average Customer Rating:
| based on 22 reviews |
| | | | Customer Reviews: | |
Average Customer Review:
( 22 customer reviews )
Write an online review and share your thoughts with other customers.
Most Helpful Customer Reviews
42 of 44 found the following review helpful:
Unifying Tome for Domain Driven Design and Implementation with .NETAug 09, 2006
By Thomas Beck
"www.beckshome.com"
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.
22 of 25 found the following review helpful:
"Down to Earth" DDD with "real-world" examples.Jun 05, 2006
By Murat Uysal
"enterprise architect wannabie"
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.
22 of 27 found the following review helpful:
Not for beginnersMay 08, 2007
By J. Leonard
"redmondjoe"
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.
2 of 2 found the following review helpful:
When it was published, this was THE $%#@Jun 08, 2010
By David W. Martines 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
4 of 5 found the following review helpful:
boring ... boring ... boringJan 07, 2011
By Alberto I spent a few months reading blogs and articles on the web sites about DDD. I was really interested in the topic so I decided to buy a book, instead of wandering around the web in search of "chunks of informations". I choose Jimmy's book cause it seemed more up-to-date and less philosophical than the others. I have to admit that I don't particularly love technical books cause I think the authors have to fill 500+ pages just to justify the cover price, and they could tell the same story in about 150 pages. Anyway, this book is even worse than the average. It's absolutely boring; almost unreadable. There's more TDD than DDD in there. It's really really slow. It's there on my desk now, new and never finished. A huge waste of money cause I've learned more from free web information than from a 60$ book. Don't waste your money in this book, it is not worth.
See all 22 customer reviews on Amazon.com
| | |
|