PDC 2008 Talk: Framework Design Guidelines

Our PDC talk has been posted on Channel9. https://channel9.msdn.com/pdc2008/PC58/. Here is the talk summary: Learn about guidelines that have helped the Microsoft .NET Framework grow into the most popular developer framework Microsoft has ever created. After ten years of use, we have an enormous amount of real customer data about what makes great framework design….


Framework Design Guidelines Videos

Brad and I just did a couple of video interviews that are now accessible online. In the first one, we are talking about our PDC presentation (for those at the PDC, it’s at 4pm today). You can get it at 10 Years of Framework Design Guidelines (video). The second interview is about just released 2nd edition…


MEF on CodePlex

  We have just released an update to MEF. You can get it at http://www.codeplex.com/MEF The changes are quite significant: 1.       The preview ships with sources under a very permissive license (Ms-LPL). 2.       We now support constructor injection. Feature that the community asked for. 3.       We completely redesigned MEF’s extensibility points. The extensibility points are…


Extensible Framework Design Studio Released

This summer we had a high school intern, Nick Moloney, who worked on incorporating MEF into FDS. The fruits of his labor are now on code gallery. You can download the extensible FDS here. Congratulations to Nick! The current release has just a few extensibility points, but you should expect more in the future. 


API Design Myth: Exceptions are for "Exceptional Errors"

I was updating FDG section on exceptions. I added one anntation that I thought I would post here as well:   KRZYSZTOF CWALINA One of the biggest misconceptions about exceptions is that they are for “exceptional conditions.” The reality is that they are for communicating error conditions. From a framework design perspective, there is no…


Nullable<T> Usage Guidelines

  These guidelines were just added as part of an update to the Framework Design Guidelines book (upcomming 2nd edition). Hope you find them useful.   Nullable<T> is a simple type added to the .NET Framework 2.0. The type was designed to be able to represent Value Types with “null” values. Nullable<int> x = null;…


POCO Support for MEF

Jason, our technical evangelist, just posted a sample showing how MEF can compose plain old CLR objects.


MEF and System.AddIns

Several people asked about the relationship between MEF and the technology in System.AddIn namespace. The answer is that these two are independent and complementary features. MEF is a primarily a composition engine. System.AddIn is an add-in activation and isolation technology. MEF’s engine will be able to compose objects that are simple CLR object, COM and…


MEF CTP 1 Released

Several members of my team have already spilled the beans, but yes (!) we just released our first public preview of MEF. You can grab the bits from here and read a past post for a high level overview. I am super excited about the release. It’s a very early preview and still lots of…


Managed Extensibility Framework

Several months ago we formed what we call Application Framework Core team. The charter of the team is to play the same role in the application frameworks space (WinForms, ASP.NET, WPF, Silverlight) as the Base Class Libraries (BCL) team plays at the bottom of the platform stack. The BCL team did a good job fulfilling…