Sponsored By Aspose - File Format APIs for .NET

Aspose are the market leader of .NET APIs for file business formats – natively work with DOCX, XLSX, PPT, PDF, MSG, MPP, images formats and many more!

Framework Guidelines V2

This post is long overdue, but if you hadn’t heard, my bosses Brad Abrams and Krzysztof Cwalina (pronounced Kris-toff Tzvalyna [thanks to Monika Dyrda for the transliteration]) recently completed V2 of the renowned Framework Guidelines book.

Framework Design Guidelines: Conventions, Idioms, and Patterns for Reuseable .NET Libraries (2nd Edition) (Microsoft .NET Development Series)

What’s New in the 2nd edition?

  • Updated with new features from .NET Framework 3.0 and 3.5

  • Tons of new annotations from industry experts

  • Extension methods

  • Linq, Linq, Linq!!

  • New Async Pattern

  • Serialization guidelines

  • Dependency Properties guidelines

  • Significant updates to the Exceptions section

  • Small things such as operator parameters, DateTimeOffset, Nullable

  • Nearly every page has some sort of update from small grammar fixes to wording clarifications

Before working at Microsoft, I worked on a few teams that were building in-house frameworks layered on top of the .NET Framework. We were back in the .NET 1.0 days, so we had a lot of debate on how we should design our APIs. Inevitably we ended up coming up with our own guidelines. The amt of rigor we applied to our API design paled in comparison to that of the .NET Framework.

Back then we didn’t have a tome such as the Framework Guidelines to guide us. We were on our own. Fortunately that is not the case today. I’ve been reading the Guidelines for the first time and it carries a world of information. What struck me is all the different concerns that we had completely overlooked!

If I were still building frameworks as I was then, I’d be definitely looking to the guide as my bible. Oh wait, I still am only now it’s the .NET framework :-). Better get back to my reading!

This entry was posted in misc. Bookmark the permalink. Follow any comments here with the RSS feed for this post.
  • http://forevony.com cyberman

    Interesting, looks juicy.

    I think this is one to memorise :)

  • http://www.codebetter.com/blogs/glenn.block/ Glenn Block

    @Jeff, yes David is a memeber of the MEF team and he has own set of guidelines from years of working on FX-Cop. I definitely recommend them.

  • http://michaelsync.net Michael Sync

    Great!!! I will defenitely read this book.

  • http://www.moserware.com/2008/12/private-life-of-public-api.html Jeff Moser

    It’s a great book (I reviewed it recently at my blog). I really enjoyed the new annotations along with subtle updates (e.g. use TimeSpan to denote an hour of the day such as when a store opens) helps to breed consistency. David Kean also has some good related guidelines on his blog: http://davesbox.com/