Review: C# Class Design - Coding Effective Classes
page 1 of 1
Published: 10 Oct 2003
Unedited - Community Contributed
Abstract
A brief review of the Wrox book entitled C# Class Design.
by J. Ambrose Little
Feedback
Average Rating: This article has not yet been rated.
Views (Total / Last 10 Days): 18345/ 13

Best Buy!

Originally Published: 22 June 2003

On the whole, I was extremely pleased with C# Class Design.  It has great organization, perfect length, and superb topic coverage.  It is focused, in-depth, and challenging.  This is a must buy and a must read for all serious C# developers.  In fact, if I could mandate that all of my teammates read this book, I would do it in a heartbeat.  Even those using other .NET languages could benefit from this book because many of the principles are not C#-specific, though some features discussed may not be available in other languages, such as VB.NET.

I would not, however, recommend this book to a beginning developer unless he or she has a good foundation in object-oriented design and other core software development principles.  It is by no means a primer, but rather is targeted at the intermediate to advanced developer who wants to excel in designing robust, reusable, and extensible classes for the .NET framework.  Nor is it for one who simply wants a set of instructions on how to build an application in C#; rather, it is for the developer who wants to build the best applications because he or she has the best understanding of the effects of class design in the .NET CLR.

On a more granular level, the table of contents provides a sufficient look at what each chapter covers, and each chapter delivers on what the TOC promsies, and more in some cases.  Chapter One takes an in-depth look at reference and value types and, augmented by Chapter Three's discussion of method parameters, arms the developer with the knowledge needed to make the right choices between the two by providing a solid understanding of how they are handled by the CLR.  Chapter Five is another essential read, covering object lifecycle and a few design patterns.

Most of the chapters offer practical advice on best practices in bulleted format to encapsulate some common-sense deductions from the data covered in the chapter.  And there are a few gotchas that this book can help you avoid, such as how the compiler handles constants (you'll have to read it to find out).

There are only two things I'd criticize about this book.  First, even though some of the topics covered are complex, I tend to think that it could have been considerably more readable in places, particularly Chapter Seven that deals with inheritance and polymorphism.  Of course, part of the problem is that those topics cannot properly be covered in so short a space--they deserve (and have) book-length treatment.  The second detraction is that Chapter Eight, while providing useful information, is somewhat off-topic, treating namespaces, assemblies, and documentation, which are only peripherally related to effective class design and are covered in several other books as well as the MSDN documentation.

Bottom Line

In short, this book is definitely worth the $30 or so that it costs (lists at $39.99).  It is not an easy read and should only be taken up by developers interested in knowing more than the minimum required to build an application.  One of the things I love about this book is its focused approach and, consequently, its readable length of only 347 pages.  Most books that are longer, that is most developer books, are full of too many code examples and too much re-coverage of topics that other books have already covered.  This is a notable exception.  I highly recommend it to intermediate to advanced developers.



User Comments

Title: kumar   
Name: chandan
Date: 2010-10-11 8:41:44 PM
Comment:
how can i create progress bar coding in vc# progrming to sove this problem






Community Advice: ASP | SQL | XML | Regular Expressions | Windows


©Copyright 1998-2017 ASPAlliance.com  |  Page Processed at 2017-05-24 2:03:18 AM  AspAlliance Recent Articles RSS Feed
About ASPAlliance | Newsgroups | Advertise | Authors | Email Lists | Feedback | Link To Us | Privacy | Search