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.
- Thomas Schröter
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.
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.
Das war die Leseprobe unseres heise-Plus-Artikels "Programmieren mit C#: Besser coden mit Fluent-APIs". Mit einem heise-Plus-Abo können sie den ganzen Artikel lesen und anhören.