Strukturierung
Es gibt also 2 Aspekte von Software und beide Aspekte benötigen eine Struktur.
Was ist Struktur bzw. was bedeutet Struktur?
Die jeweiligen kleinsten Einheiten werden zusammengefasst zu größeren Gruppierungen.
In einer Struktur mit mehreren Ebenen, werden diese Gruppierungen dann wieder zusammengefasst zu Gruppierungen einer höheren Ebene.
Daten werden logisch in Datensätze strukturiert und physisch in Tabellen und Datenbanken.
Aktionen strukturieren sich logisch zu Transaktionen und Modulen und physisch zu Funktionen und Dateien.
Warum strukturiert man?
- Navigation: Man strukturiert ein großes Ganzes, um sich darin zurechtzufinden, um schnell an eine bestimmte Stelle zu kommen.
- um größere Pakete, die viele kleinere Einheiten enthalten, als Ganzes adressieren zu können
- Bei den Aktionen wird auch strukturiert, um bestimmte Folgen von Aktionen (in Form von Funktionen oder Modulen) wiederholt einsetzen zu können und damit Redundanzen (mehrfaches Auftreten gleicher Aktionsfolgen) zu vermeiden.
- Bei den Daten ermöglicht die Datenstruktur einerseits, bestimmte zusammengehörende Daten als Paket zu handhaben (z.B. Namen und Adresse eines Kunden) und diese gleichzeitig aber auch nicht vielfach speichern zu müssen (z.B. bei jedem einzelnen Auftrag). Ein zentrales Kriterium für die Datenstruktur sind 1:n-Beziehungen: zu einem Kunden können viele Aufträge gehören.
Strukturierung bedeutet einerseits Zusammenfassung vieler kleinerer Einheiten zu größeren Einheiten, andererseits aber auch Teilung sehr großer Einheiten und zwar Teilung an der richtigen Stelle. Das heißt mit anderen Worten, die Zusammenfassung kleinerer Einheiten darf auch nicht zu weit gehen. Zu große Struktureinheiten zu bilden macht genauso wenig Sinn, wie mit ganz vielen zu kleinen Struktureinheiten zu arbeiten.
Objektorientierung nötigt beiden Aspekten von Software - den Daten und den Aktionen - die gleiche Struktur auf, nämlich die Struktur der Objekte.
Die übergeordnete Struktur in der Objektorientierung sind die Objekte. Und diese Objekte enthalten sowohl die Daten in Form von Attributen als auch die Aktionen in Form von Funktionen.
Das ist das grundlegende Wesen von Objektorientierung: Daten und Aktionen die gleiche Struktur aufzuzwingen, nämlich die Struktur der Objekte.