Wäre dann TFilestream.create ein Antipattern? dort wird ja auch im Constructor die Datei geöffnet.
Ein TFileStream klatscht dir mit einer
Exception um die Ohren, wenn die Datei aus welchen Gründen auch immer nicht geöffnet werden kann und überlässt dir nicht nil oder eine unbrauchbare Instanz - und das ist dann auch eine Ausnahme.
Da ich nicht der "niemals/immer" Typ bin, bin ich persönlich keineswegs gegen alles außer Zuweisungen im Konstruktor. Wenn das, was dort geschieht zur Objektinitialisierung dient - und ein TFileStream ist ja nunmal dafür da (gut, man könnte jetzt argumentieren, dass das eigentliche Öffnen in einer Open Methode geschehen sollte), dann lass ich das durchaus zu.
Davon abgesehen ist die
RTL und
VCL aber keineswegs das Maß der Dinge, wenn es um guten Stil oder Befolgung von Patterns geht