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;…


Framework Design Guidelines Digest v2

Almost 4 years ago, I blogged about Framework Design Guidelines Digest. At that time, my blog engine did not support attaching files and I did not have a convenient online storage to put the document on, and so I asked people to email me if they want an offline copy. Believe it or not, I…


Framework Design Studio Released

When I was coming back from Mix 2007, I was bored on the plane and so started to write a dev tool. What a geeky thing to do on a plane. 🙂 The tool allows comparing two versions of an assembly to identify API differences: API additions and removals. Comparing versions of APIs comes very…


Simulated Covariance for .NET Generics

I just wrote this pattern, but I am not sure if I should add it officially to the Framework Design Guidelines. It seems like a bit of a corner case scenario, though I do get questions about it from time to time. Anyway, let me know what you think.    Different constructed types don’t have a common root type….


Job Openings on the .NET Framework Core Team

  We have been incubating ideas about building a simple extensibility framework for some time. Now, as plans for the next version of the .NET Framework crystallize a bit more, we decided to productize the project. As a result, we have opened a job position (and most probably will be opening more) on the .NET…


Video Recording of "Framework Engineering: Architecting, Designing, and Developing Reusable Libraries"

I just received a video recording of a talk I did at the last TechEd. You can find the abstract below, and the WMV file can be downloaded from here. Hope you find it useful. [UPDATE: I attched the slides in xps format. The ppt file is 10x larger] Framework Engineering: Architecting, Designing, and Developing Reusable Libraries  …


Framework Design Guidelines 2nd Edition

My blog was relatively silent for several weeks. First, I was traveling to Europe for the TechEd, then was busy at work, then the holiday break. It’s time to go back to more regular posting. I will start with an announcement (or at least a more formal and broader announcement): after my TechEd presentation, the…


What Do Swimmers Have to Say About Framework Design?

I am starting to feel pressure to finish up slides for my presentation at the upcoming TechEd in Barcelona. I will be talking about framework architecture and design. Here is the abstract I took from the conference’s site: WIN304 Framework Engineering: Architecting, Designing, and Developing Reusable Libraries   This session covers the main aspects of reusable…