One of our favorite .NET books is "Framework Design Guidelines" by Krzysztof Cwalina and Brad Abrams. In fact, it's required reading here at LifeCycle, and we try to check all code with FxCop to adhere to as much of the guidelines as possible. Here is an excelent video presentation on many of these principals by Krzysztof. It's a little long- 3 hours- so you may want to break up your viewing a bit, but this guy is an absolute genius and what he has to say can go a long way in making or breaking your applications and APIs.