Tuesday, December 2, 2008  The Private Life of a Public API  In
college, I'd add "public" in front of my classes and methods
without giving it much thought. Sure, I knew about "protected"
and "private" and would use them where it made sense, but I had
no pragmatic experience of designing my "public" code so that
other people could easily use it.  Even a few years after
graduation, I still didn't have to worry much about creating a
public Application Programmer Interface (API). As it turned out,
I was often the only "Programmer" that my code had to
"Interface" with.  But I had a dream.  I knew that if I really
wanted to get better as a programmer, I would have to write code
that others could easily reuse. About two years ago, I started
using Reflector to make some serious study of the internals of
the .NET Framework. It was great to be able to do deep
"reflectorings" on a real framework that is used by millions of
people and see its good parts and its mistakes.  My next big
step was following the recommendatio