Download Microsoft
Visual Studio 2010

Microsoft Visual Studio 2010

Denver Visual Studio User Group   www.DenverVisualStudio.net
"developers sharing and networking for our road ahead"

 
 
 Review Details

Denver VS UG - Home    

     Also see Reviews and How To Review.
   
 
Expert C# Business Objects
Author(s): Rockford Lhotka E-mail
Published: 2004, ISBN 1-59059-344-8, 840 pages
Publisher (more . . .):  Apress
 
   
 
 Review
 

 

 Five out of Five Stars
  Reviewed: November, 2004
  Reviewer: Bryan Tyler
 
       I have been a fan of Rockford Lhotka since I read his “Visual Basic 6.0 Business Objects” book. That book was my first introduction to a framework and architecture designed to work in almost any physical configuration you threw at it. Understandably there were short-comings and workarounds due to the nature of the Visual Basic 6.0 language, but the theory and logic behind the architecture have now realized their full potential with the advent of .NET and this book is a “soup to nuts” manual on understanding, building and implementing the component-based, scalable, logical architecture or CSLA.

     This book is not for the amateur C# programmer, it assumes that the reader has a firm grasp on the C# language as well as a fairly good understanding of object oriented design. This book is not a tutorial on how to write a good C# program; rather it is a full-blown discussion on the concepts and implementation of the CSLA. In my opinion, the fact that this book contains “C#” in the title is secondary. To summarize, if you’re looking to learn the C# language, this book is not for you, but if you’re looking to learn a solid architecture and the concepts behind it, you’ve found what you’re looking for.

     Now that I’ve stated that the book is not intended for the reader to learn the C# language, I must also say that there is a lot that can be learned by the seasoned developer, in terms of the language and code techniques, from reading this book. Even if you decide not to use the architecture in your next project, there are a number of slick goodies that the author added to the CSLA such as n-level undo capabilities and the “smart date” class which make it at least worth browsing for ideas.

     The book begins with a fairly in-depth discussion of logical and physical n-tier architecture and how they relate to each other. The n-tier discussion serves as a nice segue to the author’s discussion about the theory behind his architecture, but I found myself itching to write some code by they time I reached chapter 4 (about 175 pages into the book). Not to worry though, there are plenty of code examples in this book and Lhotka methodically works through the entire framework, class by class and method by method with a full explanation of the whys and hows for every piece of code.

     My only criticism is related to the data model he uses for the example application. Lhotka even mentions that he is not a DBA and the model is for illustrative purposes only, but this is book is targeted at professional developers and I think that it’s safer to assume that we are working with professional DBAs. I also have a hard time believing that Mr. Lhotka is as unskilled a DBA as he purports. To a certain extent I think his model is used to illustrate that the framework will work in almost any situation, but why show it working with a bad model if you don’t have to? I fear that many developers will glaze right over the part that states the model is for illustrative purposes only and potentially pick up some bad habits.

     This book is true to form with all of Mr. Lhotka’s work I’ve read to date. With copious references to articles (no, not just his) and a large on-line community, you’ll find plenty more reading to do even after you finish the book. I thought the book was so good, that I asked the company I work for to purchase a copy for every developer that reports to me. This book will be an essential part of my library and I’m sure that it will be essential to yours too.
   
  Top
  Copyright © 2000 - 2010 Denver Visual Studio User Group.
All Rights Reserved. Please see Notice