Providing architects and developers with solutions-focused presentations on using the .NET Platform to develop the next generation of Internet and Enterprise applications since 2001.
 
   

Book Reviews



Buy it here
  

Title: More Effective C#

50 Specific Ways to Improve Your C#

Authors: Bill Wagner

This is the second book by Bill Wagner that I've read.The first book, Effective C# was well written and extremely informative so when I saw this second version that addresses C# 2.0, 3.0 and 3.5 I bought it without even reading the back cover.

Once again, Bill has done a great job explaining the newer aspects of C#.  The book uses the concept of Items grouped in like chapters that make it easy to pick and choose topics that interest you or that you're working on.  That's not to say that the book isn't also quite easy to just read cover to cover which is what I did.

In each item, he breaks down what a typical example might look in a real world situation then, by introducing the innovations that the C# team has given us, often changes the way one thinks about addressing a business problem.  He shows us how a certain usage of a given interface might seem to save time and be the right way to do something could actually be quite expensive from a performance standpoint.

The book covers proper usages of Generics, Threading, Metaprogramming as well as the concept of mixing OO and Functional programming.

Some examples of Items that he covers are:

  • Consider Weak References for Large Objects
  • Never Overload Extension Methods
  • Ensure that Properties Behave Like Data
  • Prefer Storing Expression

That's just a small taste of what?s covered in this book.  The Item breakdown also ensures that this will be a handy reference that I have a feeling I'll return to time and time again.  This is an excellent book that I would recommend to any of my peers.

Reviewer: Sean Mahan – Software Developer 4/7/2009
  

Buy it here
  

Title: C# Class Design Handbook: Coding effective classes

Authors: Richard Conway, Teun Duynstee, Ben Hyrman, Roger Rowland, James Speer.

Let me start by saying that I found this book to be fantastic. I would recommend this book to any intermediate programmer that’s feeling a little stuck in where to go next.

The book starts off with the basics, the same way that most C# programming books do. It starts with the difference between value types and reference types, but what I found as I read into the first chapter was that this book went way beyond any other that I have read. It has simple examples to differentiate between the two types but then has you view the IL for the examples and starts to explain why value types and reference types are handled differently. That was just the beginning.

The Class Design Handbook takes you through short, easy to understand examples that enforce the goal of the book but then as in the first chapter it goes on to explain why things are done a certain way, why a good design may incorporate or avoid something and what is actually happening behind the scenes.

The other aspect of the book that I’ve found to be exceptionally useful is chapter 6. Events and Delegates; this book contains the first concise explanation of the .NET event handling model that I’ve seen. It takes you through the code that .NET creates to represent a delegate class and through IL that shows you what is really happening.

This book sits on my desk at work and when I know I’ll be writing C# at home, it travels with me.

Simple explanations, easy to understand code examples and straight-forward text make this an excellent reference book, although I read it cover to cover (geek). I use this book especially during the design phase of any project and recommend that anyone that feels like they need a little boost in the learning department will enjoy this book.

Reviewer: Sean Mahan – Programmer (for love and money) 12/14/2004