Article Options
Premium Sponsor
Premium Sponsor

 »  Home  »  Reviews  »  Book Reviews  »  Object Oriented Programming in Visual Basic.NET
Object Oriented Programming in Visual Basic.NET
by John Spano | Published  04/12/2003 | Book Reviews | Rating:
John Spano

John Spano cofounder and CTO of NeoTekSystems, a Greenville, South Carolina technology consulting company. NeoTekSystems offers IT consulting, custom programming, web design and web hosting. We specialize in Microsoft .Net enterprise development and business design.

I have six years of experience in software architecture. My primary focus is on Microsoft technologies, and I have been involved in .NET since beta 1. I currently hold a MCSD certification, 2 MCTS's (Windows, Web) a MCPD in Distributed, 2 MCITP's, a Microsoft MVP, and have won the Helper of the Month contest for July 2002 in the devCity.NET forums.

Corporate URL:
Primary email:
Alternate email:


View all articles by John Spano...
Object Oriented Programming in Visual Basic.NET (book review)

As most of you know now that Visual Basic.NET is very different from Visual Basic 6, some help in bridging the gap between the two would be very useful. Visual Basic.Net offers a full range of object oriented programming (OOP) techniques that VB 6 doesn't even come close to. The book Object Oriented Programming in Visual Basic.NET, ISBN 0-596-00146-0, by J.P. Hamilton tries to cover this large learning curve in VB.NET.

Let me first start by saying that I found it very easy to read. Hamilton uses an easy to understand writing style that introduces the topics covered logically. He starts with the very basics of what OOP is and works up to harder topics such as polymorphism. Being experienced in OOP over many years, I thought that the book was right on target with its information. Hamilton gives good examples of the basics of OOP in simple easy to understand examples.

After showing the basics of object oriented design, Hamilton goes on to show some common techniques to help code your objects better in .Net such as exception handling, streams, web services, remoting and serialization. I particularly found the chapter on reflection interesting. This technique lets a programmer examine assemblies and classes for their structure and then create instances of the classes on the fly. No prior knowledge of the classes is needed. This technique provides a very easy way to create plug-in type architectures like the one that the Microsoft Management Console (MMC) uses. Hamilton does a very good job of explaining how to use this technique.

The only thing that I didn't like about the book was the title. I started the book with an expectation of learning OOP. This is the case for only half of the book. While the second half is just a good as the first, it doesn't have much of anything to do with OOP. Hamilton covers topics such as reflection and IO. While they are very powerful techniques, they don't deal with OOP.

If feel that this is a very good introductory book into OOP. I would give the chapters on OOP an easy 10. As I have said several times Hamilton does an excellent job of providing an easy to read and understand explanation of a hard topic. For the other chapters I would give them an 8 overall. They are well written, but don't go into detail about some of the topics, as several are worthy of their own books and should have been left out for other OOP chapters.

I would recommend this book to any programmer that doesn't have any prior OOP experience in a real OOP language such as C++. It covers the basics well. A more advanced book can be read after this one, such as a book on advanced OOP design or OO design patterns.

Table of Contents:

  1. Introduction
    • Visual Basic .NET and Object-Oriented Programming
    • The .NET Framework
  2. Object Fundamentals
    • Creating and Compiling the Component
    • Namespaces
    • Using a Component
    • Application Domains
    • Contexts
    • Assemblies
    • Intermediate Language
    • The Global Assembly Cache
    • System Namespace
  3. Class Anatomy
    • Member Variables
    • Properties
    • Methods
    • Access Modifiers
    • Passing Parameters
    • Value Types
    • Creation and Destruction
    • Delegates and Events
    • Design Considerations
    • An Exercise
  4. Object-Orientation
    • Generalization and Specialization
    • Inheritance
    • Containment
    • Polymorphism
    • Overloading
    • Overriding
    • Substitution
  5. Interfacing .NET
    • Private Implementation
    • Versioning
    • Interfaces Versus Abstract Base Classes
    • Interfaces in .NET
    • Design Considerations
  6. Exceptional Objects
    • The Basics of Exception Handling
    • Unhandled Exception Handler
    • The StackTrace Object
    • Resuming Code
    • Retrying Code
    • Performance Counters
  7. Object Inspection
    • Reflection
    • Runtime Type Discovery
    • Dynamic Type Loading
    • Attributes
    • Custom Attributes
  8. Object In, Object Out
    • Streams
    • Readers and Writers
    • Serialization
    • Schema Definition Tool
    • Custom Serialization
    • NetworkStream
  9. Object Remoting
    • Channels
    • A Remotable Object
    • Windows Services
    • The Client
    • Designing for Remoting
    • Marshal by Value (MBV)
    • Hosting Objects in IIS
    • Windows Service Versus IIS
    • Authentication
  10. Web Services
    • Writing a Web Service
    • Web Services Versus Remoting
    • Using Web Services from .NET Remoting
    • Compatibility
    • UDDI
    • Accessing Data for the Web Service
Order your copy of Object Oriented Programming in Visual Basic.NET at
How would you rate the quality of this article?
1 2 3 4 5
Poor Excellent
Tell us why you rated this way (optional):

Article Rating
The average rating is: No-one else has rated this article yet.

Article rating:2.36842105263159 out of 5
 19 people have rated this page
Article Score16501
Sponsored Links