Enter your mobile number below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
Getting the download link through email is temporarily not available. Please check back later.

  • Apple
  • Android
  • Windows Phone
  • Android

To get the free app, enter your mobile phone number.

.NET Domain-Driven Design with C#: Problem - Design - Solution 1st Edition

3.6 out of 5 stars 10 customer reviews
ISBN-13: 978-0470147566
ISBN-10: 0470147563
Why is ISBN important?
This bar-code number lets you verify that you're getting exactly the right version or edition of a book. The 13-digit and 10-digit formats both work.
Scan an ISBN with your phone
Use the Amazon App to scan ISBNs and compare prices.
Have one to sell? Sell on Amazon
Buy used On clicking this link, a new layer will be open
$1.36 On clicking this link, a new layer will be open
Buy new On clicking this link, a new layer will be open
$31.15 On clicking this link, a new layer will be open
More Buying Choices
21 New from $16.99 29 Used from $1.36
Free Two-Day Shipping for College Students with Prime Student Free%20Two-Day%20Shipping%20for%20College%20Students%20with%20Amazon%20Student

Windows 10 For Dummies Video Training
Get up to speed with Windows 10 with this video training course from For Dummies. Learn more.
$31.15 FREE Shipping. Temporarily out of stock. Order now and we'll deliver when available. We'll e-mail you with an estimated delivery date as soon as we have more information. Your account will only be charged when we ship the item. Ships from and sold by Amazon.com. Gift-wrap available.
click to open popover

Frequently Bought Together

  • .NET Domain-Driven Design with C#: Problem - Design - Solution
  • +
  • Applying Domain-Driven Design and Patterns: With Examples in C# and .NET
Total price: $92.26
Buy the selected items together

Editorial Reviews

From the Back Cover

.NET Domain-Driven Design with C# Problem Design Solution

As the first technical book of its kind, this unique resource walks you through the process of building a real-world application usingDomain-Driven Design implemented in C#. Based on a real application for an existing company, the project featured throughout the book focuses on the Domain Model and the framework that is being built to support it.

Each chapter is broken down into specific modules so that you can identify the problem, decide what solution will provide the best results, and then execute that design to solve the problem. With each chapter, you?ll build a complete project from beginning to end, offering you indispensable, hands-on practice at creating code that builds applications.

What you will learn from this book

  • When, why, and how to use Domain-Driven Design
  • How to design and build the initial Domain Model
  • What to do to achieve ?Persistence Ignorance?
  • Ways to build a Repository framework for the Domain Model
  • Techniques for applying TDD to the Domain Model
  • How to apply the Model-View-ViewModel Pattern
  • How to build a client-side membership system
  • What to do to synchronize the client application with the server

Who this book is for
This book is for experienced C# .NET developers who want to improve their techniques for writing applications that perform well and are highly scalable.

Wrox Problem - Design - Solution references give you solid, workable solutions to real-world development problems. Each is devoted to a single application, analyzing every problem, examining relevant design issues, and implementing the ideal solution.

About the Author

Tim McCarthy is a freelance consultant who architects, designs and builds highly scalable layered web and smart client applications utilizing the latest Microsoft platforms and technologies. Tim is a Microsoft MVP in Solutions Architecture, and his expertise covers a wide range of Microsoft technologies, including, but not limited to, the following: .NET Framework (ASP.NET/Smart Clients/VSTO/Workflow/Web Services, Windows Presentation Foundation), SQL Server, Active Directory, MS Exchange development, UDDI, SharePoint, and Service Oriented Architecture (SOA) applications.
Tim has worked as both a project technical lead/member as well as being in a technical consulting role for several Fortune 500 companies. He has held the Microsoft Certified Solution Developer (MCSD) and Microsoft Certified Trainer (MCT) certifications for several years, and was one of the first wave of developers to earn the Microsoft Certified Application Developer (MCAD) for .NET and MCSD for .NET certifications. He also holds the Microsoft Certified Database Administrator certification for SQL Server 2000. Tim is also certified as an IEEE Certified Software Development Professional, and he is one of only 550 people to hold this certification in the world.
Tim has been an author and technical reviewer for several books from Wrox Press. His other books include being a lead author on Professional VB 2005 , several editions of Professional VB.NET , Professional Commerce Server 2000 , and Professional ADO 2.5 Programming . He also has written and presented a DVD titled SharePoint Portal Services Programming 2003 . Tim has written numerous articles for the Developer .NET Update newsletter, developed packaged presentations for the Microsoft Developer Network (MSDN), and wrote a whitepaper for Microsoft on using COM+ services in .NET. He has also written articles for SQL Server Magazine and Windows & .NET Magazine.

New York Times best sellers
Browse the New York Times best sellers in popular categories like Fiction, Nonfiction, Picture Books and more. See more

Product Details

  • Paperback: 432 pages
  • Publisher: Wrox; 1 edition (April 28, 2008)
  • Language: English
  • ISBN-10: 0470147563
  • ISBN-13: 978-0470147566
  • Product Dimensions: 7.3 x 1 x 9.2 inches
  • Shipping Weight: 1.5 pounds (View shipping rates and policies)
  • Average Customer Review: 3.6 out of 5 stars  See all reviews (10 customer reviews)
  • Amazon Best Sellers Rank: #1,498,772 in Books (See Top 100 in Books)

Customer Reviews

Top Customer Reviews

Format: Paperback Verified Purchase
I've been playing with Domain Driven Design off-and-on for about a year now. I've read the Evans book (Domain-Driven Design: Tackling Complexity in the Heart of Software), the Nillson book (Applying Domain-Driven Design and Patterns: With Examples in C# and .NET), and the Fowler book (Patterns of Enterprise Application Architecture (The Addison-Wesley Signature Series)), but what I really need is a real-world reference app to put all these concepts together.

That's what Tim McCarthy's book does. It presents an anotated reference application, a real estate construction management application built as a WPF smart client. McCarthy's writing is clear and to-the-point--he simply provides a running commentary on the reference app from a sequence-of-development perspective. He starts with a skeleton and builds out the app from there, discussing his refactorings as he goes. I find this very helpful as a template for developing my own DDD apps.

The reference app is written in C#, as are the book's code snippets. However, since most of the code discussed boils down to .NET calls, even VB users with only limited experience with C# may find it useful. As C# is my language of choice, it did not present any problem for me.

This is a really good book; the best I've bought in a while. I do not hesitate to recommend it to any developer learning DDD in C#.
1 Comment 16 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
Format: Paperback
There are some things I don't like.

1. UnitOfWork is broken. What happens when someone adds entity to repository, and then removes it before commiting? The code will try to remove not existing objects from database and then it will add it!

2. Handling of child objects. For example addresses. In any real world app deleting every child object and then adding it again whether there were changes or not would have no place. First performance. Second what If You have to keep history of changes of that child object? What if they have Id's in database and have other children? What if two users work with same objects? What about concurrency? These are problems I have to deal with every day and I would expect some good examples from book writer. Especially that has so many certificates.

3. This book has a lot of repetitive text/code for every factory/repository/service clsss... I would like to have some discussion about problems I mentioned in p.2

4. WPF that nobody knows (yeah some know, but how many WPF have You seen?) shouldn't be used in book about DDD. Do it in WinForms, ASP.NET or even Console app. Why show us WPF? Hell You can't even build sources from this book without going to 3rd party for their GridControl. What's the point of using WPF?

This book is good for someone that doesn't know much about DDD and is doing apps for one user. O
1 Comment 8 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
Format: Paperback Verified Purchase
This is a great practical resource for applying concepts of Domain-Driven Design. Tim has put things in a very understandable language however some understanding of DDD concepts is required. The practical .NET example makes it easy for anybody with experience developing in VS and .NET to quickly apply the practices without having to start with a totally blank slate.

The authors and books he recommends are those I would also put on the list as required to have in your library.

I started learning DDD from this book and even with only a basic understanding of DDD concepts I was not lost or left behind.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
Format: Paperback
I think that too many of us who code for fun and profit get caught up in the Smart Client Anti-pattern way of programming due to limited resources and the trappings of RAD. That is why so many of the concepts presented in the book are so important - using real structure so that if you get hit by a bus, someone can read your code and do something with it.

The problem with this book is that it is unreadable.

When a book's goal is to present logical design, but does so in a completely haphazard fashion. Perhaps I expected more of a logical design from a book that talks about logical design.

I feel like there was another book I should have read before this book - I just don't know what that book is. Reading this material without some other primer and coming away with a real sense of DDD is like watching 'Empire' and having a real sense of the entire Star Wars series.

You get a lot of 'Do This', but not a lot of 'This is what needs to happen, and here is how we get there...' Maybe after a few more reads I will get more out of this book, but they are long, slow, painful reads. Sorry Tim - I know how hard it is to write technical material on this high of a level, but this is very unfun reading...
1 Comment 6 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
Format: Paperback
This book was entirely describing the design and implementation of SmartCA application using domain-driven design pattern. The author put every detail of steps in building this application from class design classes, creating solution, configuration, writing unit test... I did not run sample code so I did not know if it actually worked. My focus was the design. The author also provides detail of MVC model for SmartCA application

About the topic, the design was very interesting to me. I used this approach in my past company ( about 10 years ago). However, the design in this book was much cleaner with the favor of .Net 3.5. I like the concept of "the domain model is ignorant of how its data is saved or retrieved from its underlying data store or stores" . The introduction of unitOfWork and Repository objects for each aggregate was good in the design. I think chapter 2 was most important chapter. This described the architecture design of the application, what layer needed, how they interacts with each other. This must be understood completely before moving down to the detail. Once the design pattern was clear, the later chapters provided detail implementations. The structure was similar exception each chapter focus on particular aggregate entity.

I think this book is definitely not for C# beginner. It can be a good reference for higher level.
Comment One person found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse

Pages with Related Products. See and discover other items: .net