Oder man schreibt einfach für jeden Anwendungsfall eine Methode.
Delphi-Quellcode:
Type
ITiereUndListenDingenskirchen = interface
Procedure InsertAtFront (aDestination : TStrings);
Procedure InsertAtEnd (aDestination : TStrings);
Procedure InsertAt (aDestination : TStrings; aIndex : Integer);
Procedure Replace (aDestination : TStrings);
...
Wobei man die beiden ersten Methoden durch die dritte abbilden kann.
Um die Verwirrung zu maximieren gibt es auch noch den Ansatz, das eine
API nur die Elementaroperationen bereit stellen sollte. Wenn ich also eine Liste löschen, und Tiere an beliebiger Stelle in der Liste einfügen kann, dann würde nach diesem Ansatz die 'Append'-Methode mit dem 'Clear'-Parameter nicht erlaubt sein. Und dann wäre das Interface vielleicht auf eine Methode beschränkt.
Delphi-Quellcode:
Type
ITiereUndListenDingenskirchen = interface
Procedure InsertAt (aDestination : TStrings; aIndex : Integer);
...
Zum Namen: Append/Fill past schon. 'Fill up' bezeichnet eher das 'voll machen'. Und voll ist die Liste hinterher ja nicht, sondern nur voller (Äh, wobei 'voller' widerum die Steigerung von 'voll' ist, rein grammatikalisch,
).