Generische Fluent API (Fluent Interface), DSL und Extensions

Wie finden Sie folgenden Code?

var result = new When<decimal>() 
.Customer(customer)
.Has
.OrderValueOfMoreThan(100.00m)
.Then
.GrantDiscountOfPercent(10);

Das ist gut lesbar, nicht wahr? Die Profis unter Ihnen wissen dass es sich hierbei um sogennante “Fluent Interfaces”, bzw “Fluent API” oder auch DSL (Domain Specific Language) handelt.

Wer noch nicht so lange im Geschäft ist, möchte vielleicht auch wissen was ein API ist. API steht für “Application Programming Interface” und beschreibt die Programmierschnittstelle eines Frameworks, einer Library oder einer Middleware.

Wenn Sie wissen möchten wie ein Fluent API programmiert wird, dann interessiert Sie bestimmt dieser Thread im DotNet Forum: http://dotnet-forum.de/forums/t/3059.aspx

Anfänglich stand ich vor dem Problem der Umsetzung. Im weiteren Verlauf habe ich dann die Lösung erarbeitet und auch einen Weg für die Erweiterung aufgezeigt.

DotNetKicks-DE Image
Published Mittwoch, 3. November 2010 17:55 von Rainer Hilmer

Kommentare

Keine Kommentare

Kommentar abgeben

(verpflichtend) 
(verpflichtend) 
(optional)
(verpflichtend)