Advanced Search
Start Your Free Trial

Overview

Other Readers Also Read...
Patterns of Enterprise Application Architecture

Patterns of Enterprise Application Architecture
by Martin Fowler; David Rice; Matthew Foemmel; Edward Hieatt; Robert Mee; Randy Stafford

Agile Principles, Patterns, and Practices in C#

Agile Principles, Patterns, and Practices in C#
by Martin C. Robert; Martin Micah

NHibernate in Action

NHibernate in Action
by Pierre Henri Kuaté; Christian Bauer; Gavin King; Tobin Harris

Top Sellers in this Category

“[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 and Patterns 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

Amazon.com® Reader Reviews (Ranked by Helpfulness)

Average Amazon.com® Rating: 4.0 out of 5 rating Based on 18 Ratings

An insipid mixed soup - 2008-09-13
Reviewer Rating: 1 star rating2 star rating3 star rating4 star rating5 star rating
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...

Pragmatic, useful, approachable - 2009-06-14
Reviewer Rating: 1 star rating2 star rating3 star rating4 star rating5 star rating
Another excellent, approachable, useful book on the topic of Domain Driven Design. This book also discussed some exciting side topics that are difficult to find within the context of .NET. Topics such as: Aspect Oriented Programming (AOP), Dependency Injection, Inversion of Control (IOC), Mocking, and TDD. I found Nilsson's book crucial for filling in many of the implementation gaps that Domain-Driven Design: Tackling Complexity in the Heart of Software by Eric Evans skims over. I recommend reading this book alongside Evans seminal work on the topic of Domain Driven Design.

Yawnnnnn .... plunk! - 2008-12-15
Reviewer Rating: 1 star rating2 star rating3 star rating4 star rating5 star rating
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!!

Excellent Book - 2008-09-23
Reviewer Rating: 1 star rating2 star rating3 star rating4 star rating5 star rating
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.

Great book for pulling together DDD - 2008-09-04
Reviewer Rating: 1 star rating2 star rating3 star rating4 star rating5 star rating
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" (http://www.infoq.com/minibooks/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.

Browse Similar Topics

Top Level Categories:
Software Engineering

Sub-Categories:
Software Engineering > OOP

Some information on this page was provided using data from Amazon.com®. View at Amazon >


About Safari Books Online • Terms of Service • Privacy Policy • Contact Us • Corporate Licenses • Help • Accessibility | See us on FacebookSee us on Linked InSee us on TwitterRSS

Copyright 2009 Safari Books Online. All rights reserved.