8 of 9 people found the following review helpful
Not for beginners, but an excellent book (although with some flaws),
Amazon Verified Purchase(What is this?)
This review is from: Professional ASP.NET Design Patterns (Paperback)I bought this book in the hope that it would teach me design patterns. I realised after reading the first few chapters that it was mostly over my head. If you don't have a very solid background in OO design, and a reasonable idea of design patterns, then don't read this book - yet.
This is not a criticism of the book, it's a warning to those (like me) who might expect it to do something that, in my opinion at least, it does not do.
I went away and read Head First Design Patterns, which was absolutely superb, and only then came back to read this book. With that background, this book made a lot more sense. It was still heavy reading, but with concentration, I learned a lot from it.
So, why four stars and not five? Well, the first reason is that the book has a lot of mistakes in it. Many of these are simple typos that are not of major consequence, but are annoying. Many are in the UML diagrams, where it looks like they copied and pasted, and forgot to change some of the labels. A few are in the code, although if you read the code carefully (which is the only way you're going to get anything out of this book), you'll probably spot these.
However, a more serious flaw in this book is the lack of clear explanations as to what is going on. One of the selling points in the official blurb is that this book contains lots and lots of code, instead of boring you with theory. Well yes, it does contain an awful amount of code, but a little more theory would have gone a long way to explaining why he did some things the way he did. A lot of the time, he showed a 2-3 page code listing, then by way of explanation, just pulled out selected parts, without really saying why they were there.
I think the main point here is that a high-level overview of his approach would have made the code a lot more understandable.
I don't claim to be any kind of expert in these matters (which is why I bought the book!), but I would still question quite a lot of his approaches. For example, when building an Entity Framework model, he coded all the classes by hand, then generated the model using the Visual Studio wizard, and deleted the classes the wizard created! The whole point of the wizard is that is does all the code generation for you, you don't need to write all your entity classes by hand. I really couldn't see any reason for taking such a long-winded and error-prone approach to something that was designed to be easy.
There are other examples like this. It could be that he had good reason for them, but the lack of overview obscured any reasons.
Without wishing to sound critical (which I'm not, I really did think it was a good book), the large case study in the last few chapters was spoiled by the fact that he used MVC, and so tied himself into something that doesn't allow you to use the methods in other frameworks. He could have picked a less specific UI approach, and it would have been a more useful case study.
Despite these criticisms, I still think it's an excellent book, and one that I shall probably read again.