C# 3.0 Design Patterns

C# 3.0 Design Patterns by Judith Bishop

C# 3.0 Design Patterns

Binding:
Paperback
Number of Pages:
320
ISBN:
059652773X
Product Group:
book
Publisher:
O'Reilly Media
Publication Date:
Dec. 20, 2007
BooksForGeeks.com ID:
2893

Offers an introduction and reference to C# design patterns, with a comparison of patterns and where they would be best used or combined. This book gives you patterns using C# 3.0 language features and a bold use of C# libraries, along with plenty of case studies to illustrate how each of the 23 patterns is used in practice.

Reviews for C# 3.0 Design Patterns

  1. Good explanation of the various design patterns

    Rated 3 out of 5 stars, March 12th, 2010

    By the name suggests C# Design Patterns by Judith Bishop has been written specifically for the C# language and encompasses some of the new features of .Net 3.5 language such as Linq.
    The structure of the book is separated in to 3 major sections, covering the Structural, Creational and Behavioural patterns which include examples of 23 Design patterns, with when, how and why each pattern lends itself to a specific scenario accompanied by simple UML notation. The examples have been created specifically for the .Net language and differ from some of the other less language specific examples that can be found that do not make efficient use of the .Net language. The book does offer the user a theoretical representation of the code and then attempts to apply this theory to some simple real world examples, whilst other patterns within the book expand on these previously implemented patterns, and offer a different twist on their implementation.
    With this in mind, the book is easy to read and enables the user to run the examples either by coding from the book or downloading the code from the O'Reilly website. However, if trying to execute code from the book Chapter 2, the Proxy pattern theory code has an error in the code on line 61, which is different to the downloadable code from the website. Therefore, anyone with little understanding of the C# language may not be aware that this is in fact an error and not a feature of the language. In my opinion it would be beneficial to run some of the more complex examples (such as the abstract factory pattern) in the book to get an understanding of the interaction between the components, as purely reading the code may not be sufficient.
    This book enables the user to get a good understanding of the design patterns that can be used for the C# language all of which is accomplished within 300 pages. For any reader wishing to gain an understanding of design patterns that are implemented specifically for the C# language this book is a must have.
  2. Good coverage, but examples really need to be better

    Rated 3 out of 5 stars, December 12th, 2008

    Let's face it: there aren't many sources where one can find every pattern covered using C#. So I had high hopes for the book and, for the most part, they were satisfied: it was an interesting read, and I did get to learn a few things, having read the GoF book previously. However, the examples were, as other reviewers noted, a real let-down. Not only were they unrealistic and unsuitable for really explaining what the patterns were like (I still don't get the whole SpaceBook thing), but some of them were also of dubious quality: for example, the author presents a Singleton implementation, but this implementation necessitates a default constructor and is thus, in fact, not a singleton at all! Also, some of the latest-and-greatest research done in patterns in C# was totally missed: for example, mixins were never mentioned even though a pattern such as Prototype is a perfect candidate.

    So overall, a pretty good book, but nothing to really shout about. I can easily see someone doing way way better in writing a C# patterns book - provided they do a bit more research (on sites, in blogs, in literature and research papers) and take a bit more time to prepare clear, understandable examples.
  3. Poor effort

    Rated 2 out of 5 stars, October 12th, 2008

    This book has convoluted and baffling explanations of the design patterns when compared to other books on the subject.

    The whole point of an example seems to have been lost i.e. a simplified or contrived scenario to clearly demonstrate the concepts.
    Additionally, having typos in the code is the most frustrating for someone trying to get to grips with new ideas/technology because if you try and code them yourself it simple doesn't work. There is no excuse for this - it just indicates that the book was poorly edited and rushed out.
  4. Very promising title but does not deliver

    Rated 3 out of 5 stars, June 12th, 2008

    I am a developer working with C# 3.0 on a daily basis and so I was very excited by this book, hoping that it would give me greater insight into C# 3.0's excellent new features and some new tools in my programming toolkit, as well as more insight into design patterns and their use in designing modular, maintainable, extensible systems.

    I have ploughed my way through the book, but it has taken me a while because it simply doesn't live up to expectations. The examples are not very relevant to everyday programming problems and often seem contrived and there are some annoying typos and some dubious advice (see other reviews).

    Instead of this book, I would recommend a good book on design patterns and a good book on C# 3.0.
  5. Disappointing

    Rated 3 out of 5 stars, June 12rd, 2008

    I bought this book because Eric Lippert mentioned it on his blog (he is one of the reviewers and wrote the foreword) and I'm a big fan of Eric's work. I guess reviewing a book is not the same as writing it! I started with a deep interest in both topics (C# 3.0 and design patterns) as well as (too) high expectations and I got fairly quickly disappointed by the lack of innovative ideas in the proposed implementations and the somewhat superficial use of C# 3.0.
    The code lacks consistency as if it was written by different people with different level of expertise, the layout (of the code) is far from perfect with a few irritating typos. Sometimes the lengthy explanations about the implementation cover trivial matters while unnecessarily confusing bits are just taken for granted.
    There is even one suggestion that made me fall from my chair, page 170 in the Chain of Responsibility and Command pattern: storing information in the numerical value of enums! What a convoluted idea for no practical benefit (apart maybe saving 4 bytes of memory) and a potential nightmare for maintenance.

    Overall, all the ingredients for a good book, but you might have to wait for the second edition (if it ever gets that far) to make it worth it.

Our Network

BooksForGeeks.com is a participant in the Amazon Europe S.à r.l. Associates Programme, an affiliate advertising programme designed to provide a means for sites to earn advertising fees by advertising and linking to amazon.co.uk