Meiner Meinung nach zeugt es nicht gerade von gutem Programmierstil, wenn die Bibliotheks-/Plattformabhängigkeiten überall im Programm verstreut ist.
Natürlich macht es keinen Sinn, sich mit der Abstrahierung große Mühe zu geben, wenn es sich nur um ein einzelnes, kleineres Programm handelt und man sowieso nur auf eine Plattform setzten möchte.
Im Gegenzug wird der Quellcode viel Strukturierter, wenn man alle Abhängigkeiten nach außen hinreichend Kapselt. Dies spielt auch für die spätere Wartbarkeit eine große Rolle.
Nehmen wir mal an, Microsoft würde die Unterstützung von
DirectX 9 aus seinen neuen Betriebssystemen herausnehmen: Dann würdest du mit deinem Programm plötzlich im Regen stehen: Dein komplettes Programm müsste jetzt umgeschrieben werden. Hast du hingegen die Zugriffe auf die Grafikschnittstelle hinreichend gekapselt, so musst du nur noch diesen kleinen Teil austauschen.
Zum Vergleich: Andorra 2D hat ca. 60.000 Codezeilen. Gerade mal ca. 2000 von diesen sind von einem Grafiksystem abhängig (jeweils 1000 für
DirectX und
OpenGL): Also nur ca. 4%! Anstatt 60.000 Zeilen neu zu entwickeln muss ich also nur einen Bruchteil davon umschreiben.
Wie gesagt: Die Kapselung lohnt sich
IMHO nicht für ein einzelnes, kleines Programm, ist jedoch Sinnvoll, wenn du etwas Zukunftstaugliches herstellen möchtest.
Aber das ist nur meine Meinung, vielleicht kann auch jemand anderes etwas Sinnvolles zu diesem Thema beitragen.