Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung Nächste ÜberarbeitungBeide Seiten, nächste Überarbeitung | ||
faecher:informatik:oberstufe:modellierung:warum:start [26.10.2021 10:46] – [Klar abgegrenzte Klassen-Zuständigkeiten] sbel | faecher:informatik:oberstufe:modellierung:warum:start [26.10.2021 10:48] – [Keine Redundanz (DRY-Prinzip)] sbel | ||
---|---|---|---|
Zeile 32: | Zeile 32: | ||
Die Verwaltung der Position der Münzen in unserem Beispiel ist in Verantwortung der Muenzen-Klasse. Sollte die Verwaltung intern später auf ein Array mit zwei Feldern für x- und y-Koordinate umgestellt werden, so müssten bei direktem Zugriff von außen alle zugreifenden Klassen mitverändert werden - wenn der Zugriff über Getter- und Setter-Methoden gekapselt ist, müssen die assoziierten Klassen nichts über den internen Aufbau der '' | Die Verwaltung der Position der Münzen in unserem Beispiel ist in Verantwortung der Muenzen-Klasse. Sollte die Verwaltung intern später auf ein Array mit zwei Feldern für x- und y-Koordinate umgestellt werden, so müssten bei direktem Zugriff von außen alle zugreifenden Klassen mitverändert werden - wenn der Zugriff über Getter- und Setter-Methoden gekapselt ist, müssen die assoziierten Klassen nichts über den internen Aufbau der '' | ||
- | |||
- | Anhand von Zuständigkeiten modellieren heißt, dass eine Klasse einen **logisch sinnvollen** und **klar abgegrenzten** Aufgabenbereich besitzt. In unserem Münzspiel überprüft das Tor zwar, ob eine Münze getroffen hat, verwaltet aber nicht die Koordinaten der Münzen. | ||
- | |||
==== Klar abgegrenzte Klassen-Zuständigkeiten ==== | ==== Klar abgegrenzte Klassen-Zuständigkeiten ==== | ||
Zeile 41: | Zeile 38: | ||
==== Semantische, | ==== Semantische, | ||
- | Dasselbe, was für die Aufteilung des Problems in Klassen gilt, gilt innerhalb der Klassen für die Methoden: Jede Methode sollte eine klare Aufgabe haben - und einen Namen, der die Aufgabe auch verdeutlicht. | + | Dasselbe, was für die Aufteilung des Problems in Klassen gilt, gilt innerhalb der Klassen für die Methoden: Jede Methode sollte eine klare Aufgabe haben - und einen Namen, der diese Aufgabe auch verdeutlicht. |
- | Die Klasse Spieler hat zwei Methoden - "muenzeEinwerfen" | + | Die Klasse Spieler hat zwei Methoden - '' |
==== Keine Redundanz (DRY-Prinzip) ==== | ==== Keine Redundanz (DRY-Prinzip) ==== | ||
- | Man sollte es tunlichst vermeiden, identischen, | + | Man sollte es tunlichst vermeiden, identischen, |
In unserem Beispiel gibt es eine Methode '' | In unserem Beispiel gibt es eine Methode '' | ||