Einzelnen Beitrag anzeigen

Schokohase
(Gast)

n/a Beiträge
 
#21

AW: Fluent Design und Records

  Alt 25. Aug 2019, 20:13
@stahli

Das Besondere am Fluent Interface ist kein Ersatz für
Delphi-Quellcode:
Result := CreateSomeInterface;
Result.DoSomething('withParameter');
Result.DoSomethingOther;
Result.ConvertEverythingTo;
sondern das hier
Delphi-Quellcode:
ResultA := CreateSomeInterface; // IFoo
ResultB := ResultA.DoSomething('withParameter'); // IBar
ResultC := ResultB.DoSomethingOther; // IOther
ResultD := ResultC.ConvertEverythingTo; // string
Natürlich ist es möglich das alle ResultX vom gleichen Typ sind und dann auch auf die gleiche Instanz verweisen, aber sie müssen es eben nicht.

Und die eingebaute Code-Formatierung formatiert das so (wenn man einen Zeilenkommentar anhängt)
Delphi-Quellcode:
Result := CreateSomeInterface() // IFoo
  .DoSomething('withParameter') // IBar
  .SoSomethingOther() // IOther
  .ConvertEverythingTo(); // string
  Mit Zitat antworten Zitat