Applied Microsoft .NET Framework programming

Author : Jeffrey Richter
Microsoft Press
ISBN-0-7356-1422-9
That .NET is object-oriented to the bare bone is richly illustrated by this
book. After an introduction to the framework Jeffrey Richter takes you on a deep
tour how to write classes, or types in the .NET jargon, for this framework. The
book is divided in 5 parts.
- Basics of the Microsoft .NET Framework
This part gives an overview of the .NET framework. Chapter 1 describes how code is
JIT- compiled and run by the CLR. Chapter 2 deals with the organization of
code in assemblies. The whole chapter 3 is dedicated to shared assemblies, code
which can be used by multiple applications.
- Working with types and the Common Language Runtime
This part is dedicated to the fundamentals of .NET types. In chapter 4 you
learn that all types inherit from the System.object class and are organized in namespaces.
Chapter 5 deals with the difference between reference and value types and shows
how .NET uses boxing to make everything a referenced object. Chapter 6 deals
with the way objects are compared for equality in .NET and the way this can be
influenced.
This part deals with actually coding types. A type is the .NET name for a
class and has a list of members, being the methods, properties, etc. Chapter 7
deals with all kinds of members a type can have and their visibility to the
outer world. Everything is an object in .NET, including constants. Chapter 8
describes how to use a type to declare constants and compares them with fields,
the dynamic variables in an object. In chapter 9 methods are described in full
detail. A special kind of methods are the constructors of
a class and methods which
overload an operation on objects of the type. Chapter 10 describes properties,
including properties with parameters like indexers.
To conclude chapter 11 describes events. After
explaining the basic event mechanism Jeffrey introduces a class to handle big
lists of eventhandlers.
This part deals with the functionality present in the FCL
(Framework Class Libraries) to code your types.
Chapter 12 is dedicated to text, it describes how a string behaves in .NET and
describes the stringbuilder class to construct complex strings. Chapter 13 deals
with enumerations. Every enumeration is a specific type in .NET, with all advantages like
type safety. Chapter 14 deals with arrays, all arrays in .NET are based on the
System.Array class in the FCL. Chapter 15 describes interfaces,
it compares them to classes and shows how and when to use them. Chapter 16 deals
with custom attributes, after an introduction
on the many attributes found in the FCL it describes how to define and use your
own attributes. Chapter 17 deals with the internals of callback functions. It shows how to customize the firing of callbacks using delegate
objects.
This part deals with the CLR runtime your .NET objects will live in.
Chapter 18 on exceptions describes in detail how to gracefully recover from any
exception you can imagine. After reading chapter 19 on garbage collection you
have a better idea how pooling in .NET works. The final chapter 20 describes how
the CLR, the core of .NET, is started by windows and how this CLR loads an
application. Bringing the book back to where it started.
Conclusion
I would recommend this book to every developer who wants to know how
.NET works and why it was designed the way it is. It is a long book, fully
stuffed with an enormous amount of very useful information. For those who have a
history in COM, I would compare it to "Inside
OLE", 2nd edition. Likewise it can be quite a
job to read it from a to z. Jeffrey's style is sober, he does not try to
be funny like Kraig Brockscmidt and sticks strictly to the subject and other
common sense. Which makes the book easy to read and I would recommend you to read the
entire book to enlighten you on .NET. And be sure to have it at hand
afterwards as it is makes a good reference guide.
|