Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
Code Generation in Microsoft .NET (Expert's Voice Books for Professionals by Professionals) Paperback – September 21, 2004
All Books, All the Time
Read author interviews, book reviews, editors picks, and more at the Amazon Book Review. Read it now
Customers who bought this item also bought
What other items do customers buy after viewing this item?
About the Author
Kathleen Dollard has been involved in the computer industry for a long time. She started (she claims) by experimenting with programming in junior high. After graduate work, she worked with the computer group at Texaco Research writing Fortran and helped usher in the age of PCs doing Lotus 1-2-3 macros. After working with 4GLs and Clipper, Dollard became an independent consultant, ultimately moving to Visual Basic when it became clear that Computer Associates would not release the Windows version of Clipper. Dollard is well known for her participation over the last 15 years with online communities, including BBSs, Compuserve, Fawcette, DevX, and Microsoft public newsgroups. She has been recognized in some form for her online work since 1994, and she's been a Microsoft "Most Valuable Professional" since 1998. Dollard is also active in the real-world communities of user groups, most recently with the Denver Visual Studio User Group and the Northern Colorado .NET SIG startup. A well-known writer and speaker, she is currently doing pioneering work in code generation using .NET and XSLT.
Top customer reviews
Before I read the book, I was already convinced that code generation was a valuable thing to do, but the book helped reshape how I thought of code generation in the context of a large project, or even an IT department.
Here are the main points that resonated with me:
1) Code Generation should be thought of as a step in the overall project build process.
2) The biggest payoff will be gained by generated stored procedures and middle tier components.
3) Code generation allows the architect to decouple the system meta data from the technology. (eg. I can change my data access strategy by simply modifying my template)
4) It is possible to generate UI components.
Finally, the book goes beyond code generation. You will learn other interesting tidbits about Visual Studio .NET and the .NET framework. The appendices include good primers on XML/XSLT and her Code Generation harness. The freely downloadable harness is designed to orchestrate the CodeGen process, but you really need to the book to understand how it works and how it can be extended.
Contrary to what I have read on the web this is not a hard book. It is the first truly creative book on .NET I have read.
The code, that is downloadable, includes both C# and VB code.
While this is not a book for developers learning .NET it will prove invaluable to developers who have already started getting tired of writing or adapting the same repetitive code project after project.
This book while introducing a truly unique way of using the tools in .NET is also a good read. The author's writing style is engaging and not the usual mindless .NET prose found in many books.
I have used my own `brute force' code generation since 1998 in VB6 to generate classes and forms. When I started porting my code generation to .NET I soon realised that I would have to redesign and rewrite to fully utilise ADO.NET and started looking for a new application.
After trying all the generation tools out there in the hope of finding a replacement for my own application I was disappointed to see that they all had a `philosophy' that one had to embrace to use their tools and that all the tools were inflexible from a developer's viewpoint. Even the templates only give the developer the functions in the `Black Box' without the option of extending the functionality.
This book takes a bold step forward in the art of code generation giving developers the tools to extract information from a database structure and to then generate custom stored procedures and classes from this metadata using XSLT. The book's main focus is on using XSLT templates but also discusses the use of brute force and CodeDOM for code generation. As the developer controls every aspect of the code generation and the system is extendable it is guaranteed to enhance the creativity and productiveness of developers.
The book includes an excellent appendix on XML, XPath and XSD that will get you up to speed on these technologies quickly.
In this book I have found what I could not in any of the code generation products, total control of the process and extendibility.
An ideal companion book to get is Expert One-on-One Visual basic .NET Business Objects by Rockford Lhotka. As the templates in the book are based on Mr Lhotka's CSLA framework his book will make extending and understanding the templates easier.
Amazon makes it extremely easy for buyers to compare books and to have access to all the information needed to make an informed purchase. I am always amazed by reviews from people who did not understand what the book they bought was about.
This book's title is self explanatory and easy to understand. If you do not want to learn how code generation can make your life as a developer easier and more enjoyable then do not buy this book.
Back to the book. I think it's great. The only flaw I can find is that it's almost too detailed in spots. She presents an entire framework for building SQL DDL, stored procedures, an ORM layer, and user interface with both WinForms and HTML from XML descriptions. She also provides a larger perspective on code generation in the context of the development cycle as well as avoiding the common pitfalls. The jovial tone also keeps it light.
Anyone skilled enough to understand how code generation can revolutionize their development process should be able to handle the VB, XML, and XSLT used in the book, and either apply the principles in derivative work, or use her code directly.
Anyone implementing code generation as part of their .NET application architecture should read this book at least once to assist with planning their strategy, and then refer back top specific topics during implementation. Overall it's a good buy because the author has taken a lot of time to ensure that the content is relevant to real-world developers, and there are several real-world application examples with source code included.