Table of Contents

c# class design handbook: coding effective classes
C# Class Design Handbook: Coding Effective Classes
byRichard Conwayet al. ISBN:1590592573
Apress 2003

This text shows how to create robust, flexible, reusable classes with C# and learn how to understand different types you can create in C#, as well as how classes relate to the .NET type framework.

Table of Contents
C# Class Design Handbook—Coding Effective Classes
Chapter 1 - Defining Types
Chapter 2 - Type Members
Chapter 3 - Methods
Chapter 4 - Properties and Operators
Chapter 5 - Constructors and the Object Lifecycle
Chapter 6 - Events and Delegates
Chapter 7 - Inheritance and Polymorphism
Chapter 8 - Code Organization and Metadata
Appendix A - Support, Errata, and Code Download
List of Figures

The mission of the C# Class Design Handbook is to provide you with a critical understanding of designing classes, making you better equipped to take full advantage of C#’s power to create robust, flexible, reusable classes. This comprehensive guide lifts the lid on syntax and examines what’s really going on behind the scenes. Specific topics include the role of types in .NET, the different kinds of types C# can create, the fundamental role of methods as containers of program logic, and the workings behind .NET’s delegate-based event system. It will also show you how to control and exploit inheritance in your types and how to create logical and physical code organization through namespaces and assemblies.

Designing classes that don’t have to be revisited and revised over and over again is an art. This handbook aims to put that art in your hands, giving you a deeper understanding of the decisions you must make to design classes, and design them effectively.

About the Authors

Richard Conway started programming BASIC with the ZX81 at an early age, later graduating to using BASIC and 6502 assembly language, COMAL, and Pascal for the BBC B and Archimedes RISC machines. He is an independent software consultant who lives and works in London. He has been using Microsoft technologies for many years and has architected and built enterprise systems for IBM, Merrill Lynch, and Reuters. He has focused his development on Windows DNA including various tools and languages, such as COM+, VB, XML, C++, J++, BizTalk and, more recently, data warehousing. He has been actively involved in EAP trials with Microsoft for .NET My Services and the .NET Compact Framework. His special area of interest is network security and cryptography.

Richard is a contributor to both C# Today and ASP Today, and he is currently involved in a product development and consultancy alliance specializing in data warehousing and security products.

Teun Duynstee lives in the Netherlands and works with Macaw as a lead software developer.

Ben Hyrman works as a Program Architect for Best Buy in Minneapolis, Minnesota.

Roger Rowland is a freelance IT Consultant based in the UK. He has 25 years of software development experience on a variety of platforms, and is a regular contributor to the Wrox C# Today web site. He currently specializes in Microsoft technologies including VC++, VB, C#, SQL, and ASP. Roger is a member of the Institution of Analysts and Programmers, a professional member of the British Computer Society, and a member of the IEEE Computer Society. He holds a Masters Degree in computing and is currently undertaking a part-time PhD at the University of East Anglia researching into medical imaging and computer assisted surgery. Research techniques include 3D graphics and volume rendering using OpenGL, and he has published a number of academic papers.

James Speer has been a software developer since 1987, beginning his career in programming in BCPL and C++. He currently specializes in distributed .NET component development, particularly – C#, .NET Remoting, Serviced Components and MSMQ.