This post originated from an RSS feed registered with .NET Buzz
by Raymond Lewallen.
Original Post: Design Guidelines for Class Library Developers
Feed Title: Raymond Lewallen
Feed URL: /error.htm?aspxerrorpath=/blogs/raymond.lewallen/rss.aspx
Feed Description: Patterns and Practices, OOP, .Net and Sql
I was told by some folks at Microsoft today that the guidelines have
changed very little between framework 1.x and 2.0. To
ensure you are adhering to what Microsoft has described as proper
guidelines to follow, here are the Design Guidelines for Class Library Developers, updated for the Visual Studio 2005 documentation.
The .NET Framework's managed environment allows
developers to improve their programming model to support a wide range
of functionality. The goal of the .NET Framework design guidelines is
to encourage consistency and predictability in public APIs while
enabling Web and cross-language integration. It is strongly recommended
that you follow these design guidelines when developing classes and
components that extend the .NET Framework. Inconsistent design
adversely affects developer productivity. Development tools and add-ins
can turn some of these guidelines into de facto prescriptive rules, and
reduce the value of nonconforming components. Nonconforming components
will function, but not to their full potential.
These guidelines are intended to help class library designers
understand the trade-offs between different solutions. There might be
situations where good library design requires that you violate these
design guidelines. Such cases should be rare, and it is important that
you provide a solid justification for your decision. The section
provides naming and usage guidelines for types in the .NET Framework as
well as guidelines for implementing common design patterns.