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.
Reference
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.