Truck Month Summer Reading Amazon Fashion Learn more Discover it A. Sinclair Father's Day Gift Guide 2016 Fire TV Stick Get Ready for Summer and Save 15% The Baby Store Shop now Amazon Cash Back Offer DrThorne DrThorne DrThorne  Amazon Echo  Echo Dot  Amazon Tap  Echo Dot  Amazon Tap  Amazon Echo Starting at $149.99 All-New Kindle Oasis Shop Now
Customer Review

7 of 8 people found the following review helpful
3.0 out of 5 stars Liked it first three hours, March 6, 2010
By 
This review is from: .NET Domain-Driven Design with C#: Problem - Design - Solution (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
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No

[Add comment]
Post a comment
To insert a product link use the format: [[ASIN:ASIN product-title]] (What's this?)
Amazon will display this name with all your submissions, including reviews and discussion posts. (Learn more)
Name:
Badge:
This badge will be assigned to you and will appear along with your name.
There was an error. Please try again.
Please see the full guidelines here.

Official Comment

As a representative of this product you can post one Official Comment on this review. It will appear immediately below the review wherever it is displayed.   Learn more
The following name and badge will be shown with this comment:
 (edit name)
After clicking the Post button you will be asked to create your public name, which will be shown with all your contributions.

Is this your product?

If you are the author, artist, manufacturer or an official representative of this product, you can post an Official Comment on this review. It will appear immediately below the review wherever it is displayed.  Learn more
Otherwise, you can still post a regular comment on this review.

Is this your product?

If you are the author, artist, manufacturer or an official representative of this product, you can post an Official Comment on this review. It will appear immediately below the review wherever it is displayed.   Learn more
 
System timed out

We were unable to verify whether you represent the product. Please try again later, or retry now. Otherwise you can post a regular comment.

Since you previously posted an Official Comment, this comment will appear in the comment section below. You also have the option to edit your Official Comment.   Learn more
The maximum number of Official Comments have been posted. This comment will appear in the comment section below.   Learn more
Prompts for sign-in
  [Cancel]

Comments

Track comments by e-mail

Sort: Oldest first | Newest first
Showing 1-1 of 1 posts in this discussion
Initial post: Apr 15, 2011 1:55:45 PM PDT
Last edited by the author on Apr 15, 2011 2:01:21 PM PDT
ryanse says:
I address most of your design concerns in my new "Domain Driver" framework on CodePlex (http://domaindriver.codeplex.com). Particularly, I provide a TransactionScript class to fix your first problem and I show and example of "copy-in-place" ofr child objects to preserve changes and ease database updates.

Overall, Domain Driver provides developers with a way to quickly and easily implement a full domain model, to test that domain model using pre-built generic tests, and to prototype user-inferface components against that domain model to help achieve customer validation. Initially, the domain model will function as an in-memory database, but at any point developers can add the ability to persist to a database, a file, or any other non-volatile data store.

Domain Driver itself is decoupled from any persistence technology, but I implemented an example that clearly shows how to use it with EF Code-First to accomplish Database persistence.
‹ Previous 1 Next ›

Review Details