Einzelnen Beitrag anzeigen

Benutzerbild von igel457
igel457

Registriert seit: 31. Aug 2005
1.622 Beiträge
 
FreePascal / Lazarus
 
#8

Re: Konzept für meine 2DX-Engine (DirectX)

  Alt 4. Mai 2008, 15:45
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.
Andreas
"Sollen sich auch alle schämen, die gedankenlos sich der Wunder der Wissenschaft und Technik bedienen, und nicht mehr davon geistig erfasst haben als die Kuh von der Botanik der Pflanzen, die sie mit Wohlbehagen frisst." - Albert Einstein
  Mit Zitat antworten Zitat