Reviewing Framework Design Guidelines: Conventions, Idioms and Patterns for Reusable .NET libraries

I finally managed to get through the Framework Design Guidelines book, written by the people behind the .NET framework. They explain their experiences and insights on 4 versions of the .NET framework though a series of guidelines, that are being used by the Microsoft for the development of the .NET framework:

Framework Design Guidelines

The guidelines are provided in the following chapters:

  • Naming guidelines
  • Type design guidelines (Reference vs value, classes vs structs, abstract classes vs interfaces, static, …)
  • Member design guidelines (Methods vs properties, member overloading, optional parameters, params, ref, in and out, enumerations)
  • Designing for extensibility (Sealed vs unsealed, private vs public vs protected, events, virtual, …)
  • Handling exceptions
  • Usage guidelines (Arrays vs collections, ICloneable, Nullable, Object methods, …)
  • Common design patterns (Async pattern, IDisposable pattern, Factory pattern, Template method pattern, …)
  • Coding style conventions (brackets, spaces, indenting, comments, regions, …)
  • FxCop or Visual Studio Code Analysis

Continue reading

By Robbin Cremers Posted in Books