Beispiel zu Beginn: Ein Newsticker

Schnuppern an der OOP-Philosophie


Wichtig: In diesem ersten Beispiel geht es nicht um den Code im Detail, versuchen Sie also bitte nicht schon jetzt, jede einzelne Code-Zeile genau zu analysieren. Wir wollen uns hier zunächst ans Thema herantasten, wie ein OOP-Projekt aufgebaut ist und was der Sinn dieses Aufbaus sein könnte.

Vom Ganzen ins Detail: funktionale Abstraktion

Wenn man sich daran macht, ein Skript mit OOP-Philosophie zu programmieren, versucht man sich zunächst zu fragen, wie man das Projekt am besten in einzelne Bauteile aufteilen könnte. Oder, anders gesagt, man versucht in der Planungsphase Module zu entwerfen, welche eine Teillösung der Aufgabenstellung übernehmen. Gelingt dies, schreibt man Code, welcher sauber aufgebaut ist und dadurch gut wartbar wird. Gelingt es zudem, die Logik der Aufteilung zu erklären, kann in einem Team ein einzelnes Modul losgelöst vom Ganzen individuell weiter entwickelt werden.

Dieser Ansatz der Planung ist nicht so schwierig zu verstehen oder ist auch nicht brandneu, eigentlich wird ja immer so vorgegangen, wenn Menschen ein komplexeres Projekt umsetzen und sich die Tasks aufteilen, egal um was für ein Projekt - ein Haus, ein Automotor, eine Hochzeit, o.ä - es sich auch immer handelt. Vielleicht geht es bei der Architektur von Software einfach ein wenig um abstraktere Dinge als beim Backen eines Kuchens.

Der Newsticker ist auch aufgeteilt in Module, ich hoffe es hilft, die oben beschriebenen Gedanken zu veranschaulichen, wenn ich die Bestandteile (Klassen) des Projektes jetzt aufzähle:

  • Einen "Deckel" für die ganze Newsticker-Box
  • Einen "Boden" oder Hintergrund für die Box
  • Eine "Platte" mit allen LEDs zwischen "Boden" und "Deckel"
  • Eine einzelne "LED", die "Platte" setzt die "LEDs" zusammen
  • Ein Ding welches den Text speichert
  • Ein Ding, welches den Text einliest
  • Ein Muster für alle Buchstaben. Die "LEDs" "leuchten" nach diesem Buchstabenmuster auf
  • Ein Ding, welches alles zusammenführt und steuert