# Kapitel 6
- Unterprogramme (Methoden) - Programme auf unterschiedliche Einheiten aufteilen & unterschiedlich aufrufen
- Kapselung - abgeschlossen von der Außenwelt
- Wartbarkeit sinkt nicht durch Unterprogramme
- Container
# Objektorientierung - Zusammenfassen von Strukturen & Unterprogrammen
# Klasse
Bauplan für Objekt - stellt Funktionen zur Verfügung Kapselt Daten (Properties) & Verhalten (Methoden)
Wodurch ist ein Objekt in der OOP beschrieben ⇒ Properties, Zustand, Methode. Was sind 4 zentralen der OOP ⇒ Kapselung, Vererbung, Polymorphismus (), Abstraktion
# Objekt
# Schichtenmodelle
Ein Programm in mehrere Schichten zerlegen.
Komplexes Problem in unterschiedliche Teilprobleme zerlegen.
# Komponenten
Unabhängige Teile eines Programms. Sagt wenig über Datenaustausch zwischen Komponenten aus.
# (Micro)Services
Komponentenorientiert - Komponenten laufen als eigene Prozesse.
Strukturierung:
- Softwareanwendungen>Services
- Komponenten>Schichten>Klassen
- Klassen>Methoden
KISS - “Keep It Simple Stupid”
Kapitel 7 - Metrik
Funktion, die Eigenschaft in einer Zahl abbildet.
# Qualitätsmetriken
- Koppelung - wie hängen unteschiedliche Softwareeinheiten zusammen (bsp.: 2 Klassen)
- Schwache/Starke Interaktions/Vererbungs-Koppelung
- Eine Klasse sollte nie eine andere Klasse verwenden! = Interfaces, SE_Dependency-Injection, …
- Kohäsion - (bsp.: Klasse Taschenrechner mit Methode InitiateHttpConnection - macht keinen Sinn ⇒ gehört nicht in Klasse)
- innerer Zusammenhalt soll hoch sein - Dinge, die zusammengehören, sollten zusammen sein
- schwache/starke Kohäsion - klassenkohäsion/…