Steve Gordon 16.04.2020, 10:42 Uhr

Beobachtungen zum API Design

Der britische Entwickler und Microsoft MVP Steve Gordon hat sich mit der Frage des Designs von .NET APIs beschäftigt und teilt seine Erkenntnisse in einem Blogpost mit der Allgemeinheit.
(Quelle: B.Lauer)
Steve Gorden schreibt gerne C#-Code und findet heraus, wie man Dinge zum Laufen bringt. Die gelungenen Methoden fügt er zu kleinen, meist internen Bibliotheken zusammen. Seine Kundschaft besteht, so sagt er, aus weniger als dreißig Personen. Trotzdem habe er schon Fehler gemacht und Änderungen vorgenommen, von der er nicht wusste, dass sie nicht funktioniert, oder ein öffentliches API erstellt, das nicht für alle Anwendungsfälle geeignet war. Er stellte fest: Es ist schwieriger als es auf den ersten Blick scheint, ein öffentliches API zu entwerfen. Dazu kommt: .NET-Bibliotheken werden täglich nicht nur von 30 Personen genutzt, sondern von Millionen Entwicklern und jede Änderung an den APIs muss Vorsorge tragen, die Abermillionen Anwendungen der Entwickler nicht zu zerstören. Aus diesen Überlegungen erwuchs sein Bedürfnis, das Design von .NET APIs näher zu betrachten. In seinem englischsprachigen Blogpost teilt er seine Erkenntnisse mit allen Interessenten.
Er erklärt darin den .NET-API-Entwurfsprozess so, wie er ihn versteht. Da er nicht für Microsoft arbeitet, liefert er seine unabhängigen Interpretationen, die darauf basieren, dass er diesen Prozess einige Jahre lang beobachtet hat. Vieles von dem, was das .NET-Team bei Microsoft tut, wird veröffentlicht, und es ist daher möglich, eine Menge daraus zu lernen, wie Microsoft das API-Design für .NET Core (und .NET 5) organisiert.
Um die Erklärung konkreter zu machen, begleitet er das Design einer neuen Bibliothek, die Bestandteil der .NET BCL (Basisklassenbibliothek) von .NET 5 werden soll. Sie ist heute als NuGet-Paket verfügbar, und Gordon erläutert ihre Funktionalität in seinem Beitrag: Das Senden und Empfangen von JSON unter Verwendung von HttpClient mit System.Net.Http.Json. Weniger wichtig ist dabei die Einzelheiten der Funktionsweise dieses APIs zu verstehen. Der Fokus liegt vielmehr darauf, wie das API ins Leben gerufen wurde.
Wer etwas mehr Zeit in das Thema investieren will, kann hier ein knapp 1,5 Stunden langes englischsprachiges Video der .NET Foundation zum Design der HttpClient JSON Extension Methods ansehen.


Das könnte Sie auch interessieren