Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung | |||
faecher:informatik:oberstufe:modellierung:warum:start [26.10.2021 08:50] – [Wann ist ein Klassenentwurf "gut"?] sbel | faecher:informatik:oberstufe:modellierung:warum:start [26.10.2021 08:56] (aktuell) – [Wann ist ein Klassenentwurf "gut"?] sbel | ||
---|---|---|---|
Zeile 18: | Zeile 18: | ||
Ein Klassenentwurf ist also " | Ein Klassenentwurf ist also " | ||
- | * **Kohäsion**: Die Kohäsion | + | ==== Kohäsion ==== |
- | Das **Single-Responsibility-Prinzip** besagt, dass jede Klasse nur genau eine fest definierte Aufgabe zu erfüllen hat. Diese Aufgabe wird durch das Zusammenspiel aller Attribute und Methoden dieser Klasse erfüllt. Das Zusammenspiel der Attribute und Methoden dieser Klasse ist dadurch also sehr eng - es liegt eine starke Kohäsion vor. \\ \\Beispiel: Wenn man bei der Implementation einer Liste eine Methode'' | + | |
- | * **Kopplung**: Die Eigenschaft " | + | Die **Kohäsion** einer Klasse definiert ihren logischen Zusammenhalt als Einheit. Erkennen kann man das daran, wie deutlich Sie sich von anderen Klassen des Modells abgrenzt, aber auch daran, dass ihre Methoden für klar umrissene Aufgaben zuständig sind. Das **Single-Responsibility-Prinzip** besagt, dass jede Klasse nur genau eine fest definierte Aufgabe zu erfüllen hat. Diese Aufgabe wird durch das Zusammenspiel aller Attribute und Methoden dieser Klasse erfüllt. Das Zusammenspiel der Attribute und Methoden dieser Klasse ist dadurch also sehr eng - es liegt eine starke Kohäsion vor. **Man möchte also eine hohe Kohäsion der Klassen |
+ | |||
+ | ==== Kopplung | ||
+ | |||
+ | Die Eigenschaft " | ||
+ | |||
+ | Abhängigkeiten bezieht sich damit sowohl auf die Zahl der Assoziationen (Kontrollkopplung) als auch auf die Komplexität der Bindung (Datenkopplung)((Und noch auf ein paar Aspekte mehr...)). | ||
+ | |||
+ | Schnittstellen zwischen Klassen sollten | ||
===== Grundregeln für gute Klassenentwürfe ===== | ===== Grundregeln für gute Klassenentwürfe ===== |