C Class Design Handbook - Coding Effective Classes


Richard Conway

Teun Duynstee

Ben Hyrman

Roger Rowland

James Speer of Charteris plc

Apress

Copyright 2003 Apress

All rights reserved. No part of this work may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording, or by any information storage or retrieval system, without the prior written permission of the copyright owner and the publisher.

(pbk):

1-59059-257-3

Trademarked names may appear in this book. Rather than use a trademark symbol with every occurrence of a trademarked name, we use the names only in an editorial fashion and to the benefit of the trademark owner, with no intention of infringement of the trademark.

Distributed to the book trade in the United States by Springer-Verlag New York, Inc., 175 Fifth Avenue, New York, NY, 10010 and outside the United States by Springer-Verlag GmbH & Co. KG, Tiergartenstr. 17, 69112 Heidelberg, Germany.

In the United States: phone 1-800-SPRINGER, email orders@springer-ny.com, or visit http://www.springer-ny.com. Outside the United States: fax +49 6221 345229, email orders@springer.de, or visit http://www.springer.de.

For information on translations, please contact Apress directly at 2560 Ninth Street, Suite 219, Berkeley, CA 94710. Phone 510-549-5930, fax 510-549-5939, email info@apress.com, or visit http://www.apress.com.

The information in this book is distributed on an "as is" basis, without warranty. Although every precaution has been taken in the preparation of this work, neither the author(s) nor Apress shall have any liability to any person or entity with respect to any loss or damage caused or alleged to be caused directly or indirectly by the information contained in this work.

The source code for this book is available to readers at http://www.apress.com in the Downloads section.

Some material first published in a different form in Visual Basic .NET Class Design Handbook (1-86100-708-6), May 2002

Credits

Editorial Board

Dan Appleman
Craig Berry
Gary Cornell
Tony Davis
Steven Rycroft
Julian Skinner
Martin Streicher
Jim Sumser
Karen Watterson
Gavin Wright
John Zukowski

Additional Material

Damon Allison
Andy Olsen
Steven Sartain

Commissioning Editor

James Hart

Technical Editors

Fatema Beheranwala
Nilesh Parmar

Additional Editing

Andrew Polshaw

Technical Reviewers

Andrew Krowczyk
Roger Rowland

Managing Editor

Emma Batch

Index

Michael Brinkman

Project Manager

Beckie Stones

Production Coordinator

Sarah Hall

Proof Reader

Chris Smith

Cover

Natalie O'Donnell

About the Authors

Richard Conway

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 the likes of 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. He has spent the last two and a half years since the release of the technical preview (of VS.NET) programming proof-of- concept and enterprise system projects in C#. His special area of interest is Network Security and Cryptography. Richard is a contributor to both C# Today and ASP Today. He is currently involved in a product development and consultancy alliance – http://www.vertexion.co.uk – specializing in data warehousing and security products.

He can be contacted at
richard.conway@vertexon.co.uk.

Teun Duynstee

Teun Duynstee lives in the Netherlands. He works with Macaw as a lead software developer and loves programming, his girlfriend Marjolein, and Arnie the cat.

Ben Hyrman

Ben works as a Program Architect for Best Buy, in tropical Minneapolis, Minnesota. Ben enjoys the balmy Minnesota weather with his loving wife, Dawn, and an overactive mutt of a dog, Bandit. When they're not busy with work or off on road trips, Ben and Dawn enjoy painting their house and arguing over database design patterns.

I would like to thank Damon Allison for being my sounding board for all of my crazy ideas. I'd also like to thank Richard Scott, because he's British and he asked me to. Lastly, I'd like to thank Wrox for this excellent opportunity.

Roger Rowland

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. Married, with two children and always incredibly busy, Roger may nevertheless be contacted at roger.rowland@rmrsystems.co.uk.

James Speer of Charteris plc

James has been a software developer since 1987, beginning his career programming in BCPL and C++. He currently specializes in .NET component development, particularly - C#, .NET Remoting, Serviced Components and MSMQ. James is currently employed by Charteris plc (http://www.charteris.com) as a Senior Developer and can be reached at james.speer@charteris.com.

Thanks to Mom and Dad for the Acorn Electron and June for lending me your Vic 20.

C# Class Design Handbook

The book takes a top-down look at what exactly makes up a class in .NET. We begin by describing what a type is, and how classes relate to the .NET type framework. Then we examine what makes up types: type members. We devote the majority of the book to looking at the different mechanisms C# provides for defining type members (methods, constructors, properties, operators, and events), and finally examine how types go together to make up assemblies.




C# Class Design Handbook(c) Coding Effective Classes
C# Class Design Handbook: Coding Effective Classes
ISBN: 1590592573
EAN: 2147483647
Year: N/A
Pages: 90

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net