Designing Object-Oriented APIs That Last

  .NET Framework

Gael Fraiteur shares his 15-year experience in creating and maintaining PostSharp – a large .NET API used by thousands of developers worldwide. He reveals insights and strategies to create APIs that are easy to use but are also malleable enough to accommodate changes without breaking backward compatibility.

Talk will be in English.

* A cognitive, linguistic and social mindset: APIs as a human-to-human interaction language.
* Key design principles of object-oriented programming (such as encapsulation, homeostasis).
* Designing good APIs: a long iterative process (from initial prototype to documentation and samples to refactoring to first public version).
* Designing for extensibility versus for backward compatibility.
* Designing for performance.
* Designing API for a language: idiomatic APIs, fashions, and wear.
* Version usage statistics from the trenches: the telemetry Microsoft does not want you to know.
* Designing language extensions with custom attributes.
* Enriching APIs with custom code analyzers.
* Semver and NuGet packages.