Add termin 4
This commit is contained in:
parent
e4d91c1794
commit
f8c3edb91d
|
@ -0,0 +1,29 @@
|
||||||
|
<!--
|
||||||
|
title: Termin 4
|
||||||
|
description: Folien für den ersten Termin in Programmieren 2
|
||||||
|
url: https://git.haw-hamburg.de/pm2-tutorium/slides
|
||||||
|
header: Programmieren 2 **Tutorium**
|
||||||
|
footer: Henri Burau
|
||||||
|
-->
|
||||||
|
|
||||||
|
# Termin 4
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# Fragen
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# Links
|
||||||
|
[https://git.haw-hamburg.de/pm2-tutorium](https://git.haw-hamburg.de/pm2-tutorium)
|
||||||
|
- Aufgaben
|
||||||
|
- Tutoriumsfolien
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# Plan für heute
|
||||||
|
|
||||||
|
Level 6 Themen:
|
||||||
|
|
||||||
|
- **Werkzeug & Material-Ansatz**
|
||||||
|
- **Entwurfsmuster**
|
|
@ -0,0 +1,37 @@
|
||||||
|
<!--
|
||||||
|
title: Entwurfstmuster
|
||||||
|
description: Folien für Entwurfsmuster in Programmieren 2
|
||||||
|
url: https://git.haw-hamburg.de/pm2-tutorium/slides
|
||||||
|
header: Programmieren 2 **Tutorium**
|
||||||
|
footer: Henri Burau
|
||||||
|
-->
|
||||||
|
|
||||||
|
# Entwurfsmuster
|
||||||
|
## Gang of Four Design Patterns
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# Grundlagen
|
||||||
|
|
||||||
|
Lösungsansätze für häufig auftretende Probleme beim entwickeln von Software. Entwickelt von Gamma et al. (1994) und im Buch Design Patterns erschienen. Die Entwurfsmuster werden in einem bestimmten Format angegeben:
|
||||||
|
|
||||||
|
* Name, des Entwurftmusters
|
||||||
|
* Problem, das gelöst werden soll
|
||||||
|
* Kontext, in dem sich das Problem stellt
|
||||||
|
* Lösung, durch eine Klassenhierarchie mit Interaktion
|
||||||
|
* Konsequenzen, die aus dem Muster entstehen (Vor- und Nachteile)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# Observer
|
||||||
|
|
||||||
|
"Definiere eine 1-zu-n-Abhängigkeit zwischen Objekten, so dass die Änderung des Zustands eines Objekts dazu führt, das alle abhängigen Objekte benachrichtigt und automatisch aktualisiert werden."
|
||||||
|
|
||||||
|

|
||||||
|
*Bildquelle: [Philipp Hauer](https://www.philipphauer.de/study/se/design-pattern/observer.php)*
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# Observer Implementation
|
||||||
|
|
||||||
|

|
|
@ -0,0 +1,69 @@
|
||||||
|
<!--
|
||||||
|
title: Werzeug-Material-Ansatz
|
||||||
|
description: Folien für Werkzeug Material Ansatz in Programmieren 2
|
||||||
|
url: https://git.haw-hamburg.de/pm2-tutorium/slides
|
||||||
|
header: Programmieren 2 **Tutorium**
|
||||||
|
footer: Henri Burau
|
||||||
|
-->
|
||||||
|
|
||||||
|
# Werzeug & Material Ansatz
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# Grundlagen
|
||||||
|
|
||||||
|
Gibt Entwurfsregeln zum entwerfen von interaktiven Softwaresystemen vor. Die Klassen werden aufgeteilt in vier Elementtypen:
|
||||||
|
|
||||||
|
* **Materialien** : Anwendungsbezogene Gegenstände
|
||||||
|
* **Fachwerte** : Anwendungsbezogene unveränderliche Werte
|
||||||
|
* **Werkzeuge** : Grafische Benutzeroberfläche zum Bearbeiten von Materialien
|
||||||
|
* **Services** : Materialübergreifende fachliche Dienstleistungen
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# Materialien
|
||||||
|
|
||||||
|
Gegenstände aus der Anwendungsdomäne mit denen gearbeitet wird. Müssen keine materiellen Gegenstände sein.
|
||||||
|
|
||||||
|
Darf zugreifen auf:
|
||||||
|
|
||||||
|
* Andere Materialien
|
||||||
|
* Fachwerte
|
||||||
|
|
||||||
|
Beispiel: Film, Abrechnung, ...
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# Fachwerte
|
||||||
|
|
||||||
|
Unveränderliche Werte aus der Anwendungsdomänce. Es gibt einen Fachwert nur genau einmal.
|
||||||
|
|
||||||
|
Darf auf keine anderen Elemente zugreifen.
|
||||||
|
|
||||||
|
Beispiel: Zeit, Geldbetrag, ...
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# Services
|
||||||
|
|
||||||
|
Bieten Dienstleistungen an die im gesamten System zur Verfügung stehen sollen. Es gibt immer nur ein Serviceexemplar für einen Servicetypen.
|
||||||
|
|
||||||
|
Darf zugreifen auf:
|
||||||
|
* Andere Services
|
||||||
|
* Materialien
|
||||||
|
* Fachwerte
|
||||||
|
|
||||||
|
Beispiel: Datenbankservice, Kundenstammservice, ...
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# Werkzeug
|
||||||
|
|
||||||
|
Bieten Möglichkeiten zur Benutzerinteraktion. Sollten möglichst eine klare Aufgabe übernehmen. Häufig werden Werzeuge in eine UI- und Werkzeugklasse aufgeteilt.
|
||||||
|
|
||||||
|
Darf zugreifen auf:
|
||||||
|
|
||||||
|
* Andere Werkzeuge
|
||||||
|
* Services
|
||||||
|
* Materialien
|
||||||
|
* Fachwerte
|
Loading…
Reference in New Issue