Most Helpful Customer Reviews
23 of 24 people found the following review helpful:
4.0 out of 5 stars
Good overview of Design Patterns using C# 3.0 but seems rushed, March 31, 2008
This review is from: C# 3.0 Design Patterns (Paperback)
On one hand I like the book, I feel the layout and presentation of each pattern is well done, concise, yet you can grasp the main point of each pattern. Each pattern is explained, implemented, further examples are given, uses are explained and then each pattern is wrapped up with a series of exercises.
On the other hand, the book has many typos, the exercises are a very mixed bag and sometimes the explanation are incorrect or incomplete and it is hard to understand why the author really did what they did or the full implications. This really is a mar on an otherwise solidly presented book. The errors did make me dig into the details and I did learn more from my digging. So, if you are willing to work around these warts than you will learn something but for a beginner the level of frustration may not be worth it. For example the Observer pattern blog example, which uses events with a dictionary was not explained in enough detail. If you looked, you would have found something along the lines of the MSDN article "How to: Use a Dictionary to Store Event Instances (C# Programming Guide)" but you had to look for it.
This also applies to the C# 3.0 features that are presented in the book, again citing the example above. The Mediator pattern has a sidebar on delegates and events and it explains in a very high level what you need to know to implement events stored in a dictionary but unless you use sources outside the book you will be missing out on a lot.
The exercises are varied, some are excellent and they really force you think about what the pattern is about and sink your teeth into the details. Others just seem like they are there to fill space, others do not seem thought out well enough. For example in the Decorator pattern one of the exercises asks you to decorate System.Console but you can not do it using the methods presented. You can use a wrapper but that is not really decorating, so you are left wondering what the real intent was or even worse did you miss some key point.
So overall, even though the book does have warts, it definitely useful, you will learn about the GOF design patterns and come away with some useful knowledge on C# 3.0 and beyond that. I would suggest using the book with a critical mind, try to pick apart the examples and experiment with them, test the authors claims and find the mistakes. My impression is that this book needed another revision and some sections feel like they were in the process of being revised but the book was shipped before the process was done.
If I could I would give the book 3.5 stars, it is still very useful but the warts are painful and coming from O'Reilly that is disappointing. Some have mentioned the "Head First Design Patterns", also by O'Reilly. I have to say that if you want to learn design patterns from a Java perspective I would probably recommend that book instead.
BTW, A previous reviewer had claimed the Observer pattern example did not work but I did not have any problems getting that example to work.
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
23 of 25 people found the following review helpful:
4.0 out of 5 stars
Are Patterns Good for You?, February 1, 2008
This review is from: C# 3.0 Design Patterns (Paperback)
The publishers at O'Reilly have been putting out consistently high-quality technical books for a long time. Judith Bishop's "C# 3.0 Design patterns" is no exception.
In a nutshell: If you think the 23 classic "Gang of Four ("GOF") design patterns have value to you as a programmer, and you want to move your programming expertise into the future, then this book is for you.
Bishop has the credentials to pull this off: she is a computer scientist specializing in the application of programming languages to distributed systems and web - based technologies, and has books published in six languages. She is also a chair or member of numerous international conference committees and editorial boards.
What C# 3.0 Design Patterns does is to analyze all 23 GOF programming patterns with expert commentary and "real life" (e.g. Web 2.0 style) programming examples, and put them directly into the C# 3.0 idiom - using Generics, LINQ, and most all of the newest C# language features in a practical guide to solving common programming problems with an emphasis on what each programming pattern can do for you as a programmer in real life.
Bishop provides pictorial and UML illustrations of patterns, quizzes that relate the illustrations to the UML, "theory" code that can be adapted to real-world programming issues, tables providing guidance on when to use a specific pattern as a solution, lists of pattern advantages and disadvantages, and challenges / exercises to help you take your expertise further.
Are classic programming patterns useful to you? The answer lies in where you are at in your programming adventure. If you are just starting out, this book is probably too advanced for you.
If you already understand the C# programming language and have some introduction to Patterns under your belt, this book will be very exciting to you as it opens up the field to completely new possibilities. You'll see some "pretty slick" code examples in this book and even if you only ever end up using one or two of them, you will have certainly gotten your money's worth. Recommended for intermediate - to - advanced C# developers.
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
16 of 19 people found the following review helpful:
5.0 out of 5 stars
Nice Treatment of GOF Patterns, February 7, 2008
This review is from: C# 3.0 Design Patterns (Paperback)
This is a good rehash of the Gang of Four patterns, reworked in C# 3.0. The book's fairly concise and most patterns are clearly laid out with a simplistic example to demonstrate the basics of the patterns followed by a more detailed example in a semi-real world implementation.
The articles are nicely done, there are a good set of exercises about each pattern, and there are some good comparisons between similar patterns. As an example, there's a bit comparing the Builder and Abstract Factory which details that a Builder is concerned with how things are built while an Abstract Factory is concerned with what is built.
A couple things bothered me in the book, namely the lack of a clear overall summary of patterns, and an annoying batch of sidebars on fairly basic concepts. While each pattern has a summary of when you would use it, you're forced to dig through the entire book looking at each pattern trying to figure out if it will solve a problem for you. A consolidated list of the uses of each pattern at the start or end of the book would have been a great help. Regarding the sidebars: do I need a patterns book to lay out fundamental concepts like accessibility modifiers or indexers? These detract from the book's main purpose, which isn't to teach C# 3.0, but show how patterns are done in C# 3.0. Sidebars specific to a pattern's C# 3.0 intricacies are OK, but the fundamentals should have been left out.
Those annoyances aside, I found the book to be a good read and a useful addition to my bookshelf.
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
|