@Aviator
Das ist gut zusammengefasst.
Interfaces sind halt nur in bestimmten Konstellationen sinnvoll.
Wenn Du ein paar Klasen in einem übersichtlichen Projekt nutzt, ist der Mehraufwand von Interfaces meist nicht zu rechtfertigen.
Wenn Du aber sehr viele Klassen in einem komplexen System nutzt und möglicherweise mehrere Klassen gleiche Funktionalitäten unterstützen müssen, dann helfen Interfaces sehr stark.
Auch die Übersichtlichkeit über die Projektbestandteile wird verbessert wenn man alle genutzten Interfaces in einer
Unit vor sich hat und deren Beziehungen direkter nachvollziehen kann als wenn man konkrete Klassen in unterschiedlichen Units nachschlagen muss.
Auch sehr hilfreich finde ich, dass die Units, die die Klassen deklarieren, nur an einer zentralen Stelle bekannt sein müssen.
Die Unit1 muss nicht Unit2 kennen und umgekehrt. Beide - und auch die anderen Projektbestandteile - müssen nur MyInterfaces und MyFactory kennen und haben damit Zugang zu allem Benötigten.
@Jim
So kompliziert ist das gar nicht - ich hab´s ja auch verstanden.
Das ist wie vor ein paar Jahren, als alle sich fragten, was das mit den Objekten eigentlich soll...
Irgendwann findet man schon etwas, wo dann Interfaces plötzlich sinnvoll erscheinen.