Prinzipien der GRASP - Software Engeneering
Software Engeneering 1 - HSR
Software Engeneering 1 - HSR
Fichier Détails
Cartes-fiches | 9 |
---|---|
Langue | Deutsch |
Catégorie | Informatique |
Niveau | Université |
Crée / Actualisé | 30.12.2014 / 24.07.2022 |
Lien de web |
https://card2brain.ch/box/prinzipien_der_grasp_software_engeneering
|
Intégrer |
<iframe src="https://card2brain.ch/box/prinzipien_der_grasp_software_engeneering/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>
|
GRASP Pattern - Prinzip 1
INFORMATION EXPERT
Grundlegendstes Prinzip für die Zuordnung von Verantwortlichkeiten:
Gib die Verantwortlichkeit jener Klasse, welche die notwendigen Informationen besitzt, um die Verantwortung wahrzunehmen -> dem Information-Experten
GRASP Pattern - Prinzip 2
CREATOR
Wer erzeugt die Instanz einer Klasse?
Eine Klasse B soll die Klasse A instanziieren wenn
- B eine Composition/Aggregation von A ist
- B enthält A-Objekte
- B erfasst A-Objekte
- B verwendet A-Objekte (mit starker Kopplung)
- B ist Information-Expert von A
GRASP Pattern - Prinzip 3
LOW COUPLING
Ziel ist es hier die Klassen voneinander so wenig wie möglich abhängig zu machen. Somit betrifft eine Änderung in einer Klasse nicht das ganze System, eine Klasse ist einfacher ersetzbar und Klasse kann einfacher wiederverwendet werden.
GRASP Pattern - Prinzip 4
HOHE COHESION (HOHE KOHÄSION)
Hier ist das Ziel, dass die Klasse möglich eine einzige Funktion macht bzw. dass die Verantwortlichkeiten einer Klasse sehr stark zusammenhängen.
GRASP Pattern - Prinzip 5
CONTROLLER
Hier wird die Frage beantwortet wer den System-Event behandelt -> der Controller
z.B. Facade-Controller, welcher alle Events behandelt (ein Interface für alles)
GRASP Pattern - Prinzip 6
POLYMORPHISMUS
Hier ist definiert wie man alternative Typen behandeln kann -> Wenn verhalten von Typ abhängt sollte man Typhierarchie bilden
GRASP Pattern - Prinzip 7
PURE FABRICATION
Hier werden Funktionalitäten behandelt welche zu keiner Klasse passen. Dann sollte eine neue (Factory-)Klasse erstellt werden, welche es in der realen Welt nicht gibt, sondern ausschliesslich diese Funktionalität implementiert.
GRASP Pattern - Prinzip 8
INDIRECTION
Wenn viele Klassen untereinder Kommunizieren erzeugen sie sehr schnell eine HOHE KOPPLUNG. Um diese zu vermeiden setzten wir "zwischen" den Klassen eine Klasse, sodass die anderen Klasse nicht direkt miteinander verbunden sind und so in der Lage sind leichter ersetzt zu werden.
GRASP Pattern - Prinzip 9
PROTECTED VARIATION
Wie kann man Objekte etc. entwerfen sodass Änderungen nicht unerwünscht auf andere Objekte etc. auswirken?
Die Lösung dazu ist Bereiche zu identifizieren, welche Änderungen unterworfen sind und diese vom Umgebung "abzuschotten".