Add termin 4

This commit is contained in:
Burau, Henri 2021-05-27 14:21:10 +02:00
parent e4d91c1794
commit f8c3edb91d
3 changed files with 135 additions and 0 deletions

29
04-termin.md Normal file
View File

@ -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**

37
entwurfsmuster.md Normal file
View File

@ -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."
![width:500px](https://www.philipphauer.de/study/se/design-pattern/observer/observer-def-schema.svg)
*Bildquelle: [Philipp Hauer](https://www.philipphauer.de/study/se/design-pattern/observer.php)*
---
# Observer Implementation
![width:350px](https://i.ibb.co/jJtnCSb/mermaid-diagram-20210527132005.png)

69
wam-ansatz.md Normal file
View File

@ -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