Programmieren mit C#: Besser coden mit Fluent-APIs

In C# lassen sich Fluent-APIs mit Erweiterungsfunktionen sauber implementieren und führen so zu robuster, wartungsfreundlicher und fehlertoleranter Software.

Artikel verschenken
In Pocket speichern vorlesen Druckansicht 77 Kommentare lesen
Lesezeit: 13 Min.
Von
  • Thomas Schröter
Inhaltsverzeichnis

Fluent Interfaces sind ein probates Mittel, um APIs in komplexen Softwaresystemen zu strukturieren. Sie nehmen Programmierer an die Hand, indem sie klare, gut verständlich benannte Methoden anbieten und eine einfache Grammatik fördern. Ein so geschriebener Code ist selbsterklärend, robust, fehlertolerant und erfüllt die Konventionen der Clean-Code-Entwicklung. Zudem ist das Programm klar strukturiert, gut lesbar und wartungsfreundlich.

Viele Interfaces in Sprachen wie C++, C# und Java folgen den Regeln der imperativen Programmierung. An geeigneten Stellen werden Instanzen von Klassen erzeugt, diese Objekte in einer Variablen gespeichert und im Folgenden wird auf die Eigenschaften und Methoden über den Punktoperator zugegriffen. Hier lässt sich zwischen zwei Fällen unterscheiden: Es gibt Methoden, die das Ergebnis einer Operation an den aufrufenden Teil zurückliefern, und Methoden, die nichts zurückgeben (als void deklariert). Die übergebenen Parameter dieser Methoden verändern lediglich den inneren Zustand eines Objekts.

Mehr zu Softwareentwicklung:

Anders verhält es sich mit Fluent APIs. Sie lassen sich als ein Sonderfall der domänenspezifischen Sprachen (Domain-specific Languages, DSL) betrachten und bieten mit ihrem deklarativen Ansatz gegenüber der imperativen Entwicklung etliche Vorteile: Das Verwenden einer redundanten Instanzvariablen entfällt, die Kapselung (Paradigma des Information Hiding) wird verbessert und der Quellcode eines Programms transformiert sich insgesamt zusehends in Richtung deklarative Programmierung.