Object-Oriented Programming with Visual Basic .NET - page 6

only for RuBoard

Audience

Anyone can read a reference manual, but the reference often neglects the fundamental principals. I remember when I first started trying to learn Windows in 1991. I always ended up having more questions than answers at the end of the day (thank God for Charles Petzold!). My inexperience was partly to blame, but I have never forgotten those days, and I hope that beginners who read my book will learn from the lessons that I've managed to learn only with great pain. However, I also wrote this book for professional VB gunslingers who have been using the language for years to bring home the bacon. In some ways, VB.NET is a familiar friend. In others, it's an entirely new beast .

If you are looking for a language reference, this ain't it. If you are new to programming, though, you will need a reference. I suggest O'Reilly's VB.NET Language in a Nutshell by Steven Roman, Ron Petrusha, and Paul Lomax, which is concise and user friendly.

If you are not new to programming, a week and a help file is all you need to learn the language's syntax (OK, I am exaggerating a bit). Although this book is not a language reference, you can learn a lot from the example code; much of the VB.NET syntax is used within context.

only for RuBoard
only for RuBoard

About This Book

This book primarily covers the topic of building objects. It discusses how they are designed, why they are designed that way, and how the design fits in with .NET. Here is a brief overview of what lies ahead.

Chapter 1, Introduction , is a high-level view of object-oriented programming and the key concepts of the .NET Framework. This chapter establishes key object-oriented terminology and shows how it applies to .NET.

Chapter 2, Object Fundamentals , discusses objects and the .NET world they live in. It includes discussions on compiling objects, namespaces, application domains, assemblies, intermediate language, and the .NET class library.

Chapter 3, Class Anatomy , shows how to build classes. Topics include member variables , methods , properties, access modifiers, and the use of access modifiers in class designs. The chapter also discusses passing parameters, the difference between reference types and value types, creating and destroying objects, the .NET garbage collector, events, and delegates.

Chapter 4, Object-Orientation , focuses on object-oriented programming (OOP). Topics include specialization and generalization, inheritance, and containment. The chapter also discusses polymorphism: substitution, method overloading and overriding, and shadowing. You will learn about using polymorphism, abstract base classes, and the Open-Closed Principle, which allows you to write flexible object hierarchies. Discussions of proper inheritance and the Liskov Substitution Principle are also included. The chapter ends with an in-depth look at interface-based programming and a few of the major interfaces you need to learn to make robust .NET objects.

Chapter 5, Interfacing .NET , discusses interface-based programming and how it fits into the world of OOP. The chapter also covers some of the most important .NET interfaces.

Chapter 6, Exceptional Objects , deals with exception handling within the .NET Framework. You will learn how and when to write your own exceptions, use the AppDomain unhandled exception handler, use a stack trace, resume and retry code, and use performance counters to profile application exceptions.

Chapter 7, Object Inspection , covers a powerful .NET technology called reflection , which allows you to query type information programmatically. The chapter discusses runtime type discovery, dynamic type inspection, and attributes. You will also learn how to build custom attributes by using them to provide behavior for VB.NET that mimics C# XML documentation comments.

Chapter 8, Object In, Object Out , deals with streams and serialization. Discussions include binary and XML serialization and the streams available in .NET, the Schema Definition Tool, and custom serialization. The chapter uses a TCP server and client to illustrate the use of network streams.

Chapter 9, Object Remoting , shows how to move objects into a distributed environment. It discusses channels, activation models, configuration, marshaling, lifetime leases, proxies, and other remoting fundamentals. The chapter uses a reusable Windows service to host remote objects and shows how to configure and use IIS to host remote objects. The chapter also demonstrates how to use object factories to build flexible, distributed systems.

Chapter 10, Web Services , describes how to write XML web services, host them from IIS, and make them available for .NET remoting. You will learn when to use web services and when to use remoting. The chapter also covers compatibility issues that affect consumption.

only for RuBoard