update
This commit is contained in:
@ -194,4 +194,84 @@
|
||||
|
||||
|
||||
## Adapter Pattern
|
||||
-
|
||||
- Erlaubt das Nutzen eines Clients mit einem inkompatiblen Interface
|
||||
|
||||
### Structure Adapter Pattern
|
||||

|
||||
#### Target
|
||||
- Definiert domänenspezifisches Interface, das der Client nutzt
|
||||
|
||||
#### Client (Adapter Pattern)
|
||||
- Arbeitet mit Objekten, welche mit dem [Target](#target)-Interace übereinstimmen
|
||||
|
||||
#### Adaptee
|
||||
- Definiert existierendes Interface, welches Adaption benötigt
|
||||
|
||||
#### Adapter
|
||||
- Adaptiert das Interface des Adaptee zum Target-Interface
|
||||
|
||||
#### Collaborations
|
||||
- Client ruft Operationen auf dem Adapter-Interface auf
|
||||
|
||||
### Beispiel Adapter Pattern
|
||||

|
||||

|
||||
|
||||
### Fazit Adapter Pattern
|
||||
- **SRP**
|
||||
- Primäre Business Logik eines Programms ist vom Interface getrennt
|
||||
- **OCP**
|
||||
- Neuer Adapter kann, ohne den existierenden Code zu bearbeiten, erstellt werden
|
||||
|
||||
- Adapter ändert Interface in eins, das der Client erwartet
|
||||
- **Sollte vermieden werden, wenn es möglich ist**
|
||||
|
||||
|
||||
## Facade Pattern
|
||||
- Klasse, die ein simples Interface zu einem komplexen System bereitstellt
|
||||
|
||||
### Struture Facade Pattern
|
||||

|
||||
#### Facade
|
||||
- Weiß, welche Subsystem-Klassen verantwortlich sind
|
||||
- Delegiert Client-Anfragen an Klassen
|
||||
|
||||
#### Subsystem Classes
|
||||
- Implementiert Subsystem Funktionalität
|
||||
- Hat kein Wissen von der Fassade
|
||||
|
||||
#### Collaborations Facade Pattern
|
||||
- Clients kommunizieren mit dem Subsystem durch requests zur Fassade
|
||||
|
||||
### Fazit Facade Pattern
|
||||
- **SRP**
|
||||
- Kann verletzt werden je nach Implementierung
|
||||
|
||||
## Composite Pattern
|
||||
- Baumartige Objektstruktur
|
||||
### Structure Composite Pattern
|
||||

|
||||
|
||||
#### Component (Abstract Class)
|
||||
- Deklariert Interface für Objekte in der Komposition
|
||||
- Implementiert für teilweises default-Verhalten
|
||||
|
||||
#### Leaf
|
||||
- Definiert Verhalten, welches individuell für die Klasse ist
|
||||
|
||||
#### Composite
|
||||
- Definiert Verhalten für Branch-Komponenten
|
||||
|
||||
#### Client (Composite Pattern)
|
||||
- Nutzt Objekte in der Komposition durch das Interface
|
||||
|
||||
### Beispiel Composite Pattern
|
||||

|
||||

|
||||
|
||||
## Strategy Pattern
|
||||

|
||||
|
||||
## State Pattern
|
||||

|
||||
|
||||
|
Reference in New Issue
Block a user