Designing for Extensibility 

Extensibility is the ability to add or modify the behavior of objects. There are a variety of mechanisms that you can use to make your libraries extensible. The different mechanisms each have their own costs and benefits.

Portions Copyright 2005 Microsoft Corporation. All rights reserved.

Portions Copyright Addison-Wesley Corporation. All rights reserved.

For more information on design guidelines, see the "Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries" book by Krzysztof Cwalina and Brad Abrams, published by Addison-Wesley, 2005.

In This Section

Unsealed Classes

Describes guidelines for designing unsealed classes.

Protected Members

Describes guidelines for implementing protected members.

Events and Callbacks

Describes guidelines for using events and callback methods.

Virtual Members

Describes guidelines for making a member virtual.

Abstract Types and Interfaces

Describes guidelines for creating abstract types and interfaces.

Base Classes for Implementing Abstractions

Describes guidelines for implementing abstractions using base classes.

Limiting Extensibility by Sealing Classes

Describes guidelines for sealing classes and members.


Related Sections

.NET Framework Class Library Reference

Documents each of the public classes that constitute the .NET Framework.

Design Guidelines for Developing Class Libraries

Describes the best practices for class library development.

Community Additions