Programmieren_2/entwurfsmuster.md

38 lines
1.2 KiB
Markdown

<!--
title: Entwurfstmuster
description: Folien für Entwurfsmuster in Programmieren 2
url: https://git.henriburau.de/tutorien/programmieren-2
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)