Setting the Stage
By: Brad Abrams |
Introduction to the practice of API design. Topics covered include terminology, first principles, and why API design is a crucial thing to get right (the first time!). |
January 14, 2005 |
January 19, 2005 |
Naming Conventions
By: Brad Abrams |
Learn why good naming is a key factor in API design, and what the recommended naming guidelines are to ensure consistency with the rest of the .NET Framework. |
January 21, 2005 |
January 26, 2005 |
Rich Type System
By: Brad Abrams |
Learn what rich constructs from the CLR's type system are available and appropriate for developing APIs. Also, learn when to use reference over value types, delegates, exceptions, attributes, and many other important features. |
January 28, 2005 |
February 2, 2005 |
Member Types
By: Brad Abrams |
Learn when to use certain member constructs such as properties, methods, and events over other constructs and why. |
February 4, 2005 |
February 9, 2005 |
Designing Inheritance Hierarchies
By: Brad Abrams |
Learn how to design appropriately for specialization, specifically when to use inheritence over aggregation, abstract classes over interfaces, and so on. Also, learn situations in which virtual methods are called for. |
February 11, 2005 |
February 16, 2005 |
API Usability
By: Steven Clarke |
Learn to understand your target audience, profile users with personas, and develop APIs that are easy to use and understand. |
February 18, 2005 |
February 23, 2005 |
Designing Progressive APIs
By: Krzysztof Cwalina |
Learn how to design APIs that are appropriate for a broad range of user personas, while at the same time providing a unified framework with gradients between levels of complexity. |
February 25, 2005 |
March 2, 2005 |
CLR Performance Tips
By: Rico Mariani and Maoni Stephens |
Learn performance basics (measure, measure, measure!), how to build a performance culture, GC basics, and a couple of tips on controversial .NET performance topics. |
March 4, 2005 |
March 9, 2005 |
Designing for a Managed Memory World
By: Brad Abrams |
Understand the impact that garbage collection has both at runtime and how it impacts the design of your APIs. Learn about finalizers, the Dispose pattern, the using keyword, and other related constructs. |
March 11, 2005 |
March 16, 2005 |
Understanding Interoperability
By: Sonja Keserovic |
Learn how to interoperate between managed and unmanaged (native) code, including COM interop. Learn how to consume native code from managed libraries, and how to expose managed libraries to native code. |
March 18, 2005 |
March 23, 2005 |
Packaging, Assemblies and Namespaces
By: Michael Murray |
Understand best practices for packaging and structuring your units of deployment, including how to factor your code appropriately, strong naming, how packaging may impact performance, and namespace structure. |
March 25, 2005 |
March 30, 2005 |
FxCop in Depth
By: Jeffrey Van Gogh and Michael Murray |
FxCop is a tool that enables development teams to check code compliance with best practices. This session will give you a good understanding of the how and why behind the tool. |
April 1, 2005 |
April 6, 2005 |
Enabling Development Tools
By: Brian Pepin |
Learn how to enable a rich development experience for your users by writing code that exploits the capabilities of Visual Studio. Covers extending and augmenting the development, debugging, and design environments. |
April 8, 2005 |
April 13, 2005 |
Security
By: Sebastian Lange |
Learn how to write secure code using CAS, protected resources, verifiability, and secure units of code. This session also covers partial trust, a couple security gotchas, and some tools to enable secure .NET development. |
April 15, 2005 |
April 20, 2005 |
Conclusion and Q&A Session |
Watch the finale and Q&A session with the series presenters and their audience, with a special guest appearance by Jeff Richter. |
April 22, 2005 |
April 27, 2005 |
|