Dies ist die zweite Staffel eines
Themas von 2016, das - wie üblich - zum Schluss völlig wegmäanderte.
Wie der TE damals weiß auch ich so halbwegs, was Interfaces sind, wie man sie konstruiert und wozu sie gut sein sollen. Ich weiß auch, dass die Beispiele, wozu Interfaces nützlich sind, aus Demonstrationsgründen meist so einfach gestrickt sind, dass man auch gut ohne sie klarkäme. Wie der TE höre ich immer feurige Beteuerungen, dass es ohne Interfaces nicht geht (vor allem, wenn man auf Nick Hodges hört), und wie er tue ich mich schwer, für mein eigenes Programm eine Stelle zu finden, wo Interfaces eine Verbesserung wären.
Ich stelle gerade von
AsyncCalls von Andreas Hausladen auf
Omnithread von Primož Gabrijelčič um. Beide benutzen natürlich heftigst Interfaces. Und insbesondere anhand des sehr überschaubaren Quelltextes von AsyncCalls fände ich eine Darlegung lehrreich, warum Interfaces und ob es auch ohne sie ginge. Denn hier greift doch das häufige Argument "Die spätere Implementierung ist zurzeit noch nicht bekannt und man hält sich alles offen" nicht. Und Gabrijelčič schreibt an irgendeiner Stelle (die ich gerade nicht mehr finde) sinngemäß: Man kann das Interface nehmen oder auch die Klasse, wenn man das bevorzugt. Na, wenn das so ist, denkt man sich, warum nicht gleich nur Klassen?