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.