DPF at APOLLON Hochschule | Flashcards & Summaries

Select your language

Suggested languages for you:
Log In Start studying!

Lernmaterialien für DPF an der APOLLON Hochschule

Greife auf kostenlose Karteikarten, Zusammenfassungen, Übungsaufgaben und Altklausuren für deinen DPF Kurs an der APOLLON Hochschule zu.

TESTE DEIN WISSEN
Real World Beispiel Observer
Lösung anzeigen
TESTE DEIN WISSEN
Wenn man eine Zeitung abonniert, muss man nicht mehr in den Laden.
Die Zeitung wird bei Neuauflage zugestellt (wenn sich was ändert etc.)

Der Verlag (Observer) hat eine Liste der Subscriber, diese können sich jederzeit unsibscriben (kündigen).
Lösung ausblenden
TESTE DEIN WISSEN
Wie funktioniert der Observer?
Lösung anzeigen
TESTE DEIN WISSEN
  • Subjekt
    • Stellt Funktionen bereit um sich zu un- & subscriben
      • Von Observer aus
    • Enthält eine Methode um die angemeldeten Observer zu benachrichtigen bei einer Änderung des States
  • Java stellt eine eingebaute Plattform (Interface) zur Verfügung um schnell Observer zu implementieren
    • java.util.Observablejava.util.Observer
    • wird selten genutzt, weil Observer einfach ist und die eingebaute Methode keine multiple Vererbung erlaubt
  • Model-View-Controller (MVC) nutzt das Observer Pattern
    • Model = Observable
    • Views = Observer
      • werden bei Änderungen des Models benachrichtigt
Lösung ausblenden
TESTE DEIN WISSEN
Wann Observer anweden?        
Lösung anzeigen
TESTE DEIN WISSEN
  • dynamisch listener hinzufügen / löschen
  • wenn nur für gewisse zeit beobachtet werden soll oder in speziellen fällen
  • manuelle Anpassbarkeit für Client gegeben (zB durch config)
  • oft in UI verwendet (wenn Btn gedrückt trigger Event A)
Lösung ausblenden
TESTE DEIN WISSEN
Pros & Cons Observer
Lösung anzeigen
TESTE DEIN WISSEN
+ Offen / Geschlossen Prinzip:
man kann beliebig viele Subscriber erstellen

+ Beziehungen zur Laufzeit ändern

- Subscriber werden in zufälliger Reihenfolge benachrichtigt
Lösung ausblenden
TESTE DEIN WISSEN
Nenne ein paar Structural Pattern
Lösung anzeigen
TESTE DEIN WISSEN
  1. Adapter
  2. Bridge
  3. Composite
  4. Decorator
  5. Facade
  6. Proxy
Lösung ausblenden
TESTE DEIN WISSEN
Nenne die Creational Pattern    
Lösung anzeigen
TESTE DEIN WISSEN
  1. Factory Method
  2. Abstract Factory
  3. Builder
  4. Prototype
  5. Singleton
Lösung ausblenden
TESTE DEIN WISSEN
Was macht die Template Method?
Lösung anzeigen
TESTE DEIN WISSEN
Definiert das Skelett eines Algorithmus in einer Superklasse, aber lässt Subklassen spezifische Schritte des Algorithmus überschreiben ohne die Struktur zu verändern.
Lösung ausblenden
TESTE DEIN WISSEN
Nenne ein Problem, welches durch den Einsatz der Template Method gelöst werden kann
Lösung anzeigen
TESTE DEIN WISSEN
  • Data Mining App, die Dokumente analysisert.
  • Nutzer füttert Miner mit unterschiedlichen Formaten (PDF, DOC, CSV) und App soll sinnvolle Daten extrahieren und in ein uniformes Format übertragen
  • Erst DOC umgesetzt, dann PDF, dann CSV - dann erst gemerkt, dass alle drei klassen viel identischen Code aufweisen

Lösung ausblenden
TESTE DEIN WISSEN
Real World Beispiel Template Method
Lösung anzeigen
TESTE DEIN WISSEN
(Behaviorial)
Fertighausherstellung:
An einigen Stellen in der Produktion können Details vom Standard abweichen und somit resultiert ein etwas anderes Haus (zB mit Dachfenster).

Jeder Schritt ist zwar chronologisch festgelegt, kann aber im Detail angepasst werden.
Fundament -> Rahmen -> Wände bauen -> Wasseranschluss & Elektrizität...
Lösung ausblenden
TESTE DEIN WISSEN
Wann kann man Template Method anwenden?
Lösung anzeigen
TESTE DEIN WISSEN
  • Wenn Client bestimmte Schritte eines Algos konfigurieren können soll, aber nicht den kompletten oder die Struktur (außer sie ist ebenfalls abstract)
  • Monolith aufsplitten, der einfach  erweitert werden kann und die Struktur weiterhin in einer Superklasse definiert ist
  • Identischen Code einsparen mit Unterschieden im Detail
  • Wenn viele Subklassen identischen Code haben, kann er in Superklasse als Default verwendet werden und muss nur noch in bestimmten Fällen überschrieben werden
Lösung ausblenden
TESTE DEIN WISSEN
Pros & Cons Template Method?
Lösung anzeigen
TESTE DEIN WISSEN
+ Stellenweise kann der Client Algorithmus verändern
+ Identischer Code kann minimiert werden
- Manche Clients könnten durch das vorgegebene Skelett beeinträchtigt sein
- Man könnte das Liskov Substitutions Prinzip verletzen, indem ein Default Schritt überschrieben wird
- Je mehr Schritte die TM hat, desto komplizierter und unübersichtlicher wird sie
Lösung ausblenden
TESTE DEIN WISSEN
Nenne ein paar Behaviorial Pattern!
Lösung anzeigen
TESTE DEIN WISSEN
Verhalten

  1. Observer
  2. Strategy
  3. Chain of Responsibility
  4. Interpreter
  5. Iterator
  6. Mediator
  7. State
  8. Template Method
  9. Visitor
Lösung ausblenden
  • 10473 Karteikarten
  • 342 Studierende
  • 2 Lernmaterialien

Beispielhafte Karteikarten für deinen DPF Kurs an der APOLLON Hochschule - von Kommilitonen auf StudySmarter erstellt!

Q:
Real World Beispiel Observer
A:
Wenn man eine Zeitung abonniert, muss man nicht mehr in den Laden.
Die Zeitung wird bei Neuauflage zugestellt (wenn sich was ändert etc.)

Der Verlag (Observer) hat eine Liste der Subscriber, diese können sich jederzeit unsibscriben (kündigen).
Q:
Wie funktioniert der Observer?
A:
  • Subjekt
    • Stellt Funktionen bereit um sich zu un- & subscriben
      • Von Observer aus
    • Enthält eine Methode um die angemeldeten Observer zu benachrichtigen bei einer Änderung des States
  • Java stellt eine eingebaute Plattform (Interface) zur Verfügung um schnell Observer zu implementieren
    • java.util.Observablejava.util.Observer
    • wird selten genutzt, weil Observer einfach ist und die eingebaute Methode keine multiple Vererbung erlaubt
  • Model-View-Controller (MVC) nutzt das Observer Pattern
    • Model = Observable
    • Views = Observer
      • werden bei Änderungen des Models benachrichtigt
Q:
Wann Observer anweden?        
A:
  • dynamisch listener hinzufügen / löschen
  • wenn nur für gewisse zeit beobachtet werden soll oder in speziellen fällen
  • manuelle Anpassbarkeit für Client gegeben (zB durch config)
  • oft in UI verwendet (wenn Btn gedrückt trigger Event A)
Q:
Pros & Cons Observer
A:
+ Offen / Geschlossen Prinzip:
man kann beliebig viele Subscriber erstellen

+ Beziehungen zur Laufzeit ändern

- Subscriber werden in zufälliger Reihenfolge benachrichtigt
Q:
Nenne ein paar Structural Pattern
A:
  1. Adapter
  2. Bridge
  3. Composite
  4. Decorator
  5. Facade
  6. Proxy
Mehr Karteikarten anzeigen
Q:
Nenne die Creational Pattern    
A:
  1. Factory Method
  2. Abstract Factory
  3. Builder
  4. Prototype
  5. Singleton
Q:
Was macht die Template Method?
A:
Definiert das Skelett eines Algorithmus in einer Superklasse, aber lässt Subklassen spezifische Schritte des Algorithmus überschreiben ohne die Struktur zu verändern.
Q:
Nenne ein Problem, welches durch den Einsatz der Template Method gelöst werden kann
A:
  • Data Mining App, die Dokumente analysisert.
  • Nutzer füttert Miner mit unterschiedlichen Formaten (PDF, DOC, CSV) und App soll sinnvolle Daten extrahieren und in ein uniformes Format übertragen
  • Erst DOC umgesetzt, dann PDF, dann CSV - dann erst gemerkt, dass alle drei klassen viel identischen Code aufweisen

Q:
Real World Beispiel Template Method
A:
(Behaviorial)
Fertighausherstellung:
An einigen Stellen in der Produktion können Details vom Standard abweichen und somit resultiert ein etwas anderes Haus (zB mit Dachfenster).

Jeder Schritt ist zwar chronologisch festgelegt, kann aber im Detail angepasst werden.
Fundament -> Rahmen -> Wände bauen -> Wasseranschluss & Elektrizität...
Q:
Wann kann man Template Method anwenden?
A:
  • Wenn Client bestimmte Schritte eines Algos konfigurieren können soll, aber nicht den kompletten oder die Struktur (außer sie ist ebenfalls abstract)
  • Monolith aufsplitten, der einfach  erweitert werden kann und die Struktur weiterhin in einer Superklasse definiert ist
  • Identischen Code einsparen mit Unterschieden im Detail
  • Wenn viele Subklassen identischen Code haben, kann er in Superklasse als Default verwendet werden und muss nur noch in bestimmten Fällen überschrieben werden
Q:
Pros & Cons Template Method?
A:
+ Stellenweise kann der Client Algorithmus verändern
+ Identischer Code kann minimiert werden
- Manche Clients könnten durch das vorgegebene Skelett beeinträchtigt sein
- Man könnte das Liskov Substitutions Prinzip verletzen, indem ein Default Schritt überschrieben wird
- Je mehr Schritte die TM hat, desto komplizierter und unübersichtlicher wird sie
Q:
Nenne ein paar Behaviorial Pattern!
A:
Verhalten

  1. Observer
  2. Strategy
  3. Chain of Responsibility
  4. Interpreter
  5. Iterator
  6. Mediator
  7. State
  8. Template Method
  9. Visitor
DPF

Erstelle und finde Lernmaterialien auf StudySmarter.

Greife kostenlos auf tausende geteilte Karteikarten, Zusammenfassungen, Altklausuren und mehr zu.

Jetzt loslegen

Das sind die beliebtesten DPF Kurse im gesamten StudySmarter Universum

DPLAW

University of Roma "La Sapienza"

Zum Kurs
DPR

Universität Stuttgart

Zum Kurs
DPOC

Universidade de Passo Fundo

Zum Kurs
Dpc

Universidad Nacional de Rosario

Zum Kurs
DP-900

Hochschule für Technik, Wirtschaft und Kultur Leipzig

Zum Kurs

Die all-in-one Lernapp für Studierende

Greife auf Millionen geteilter Lernmaterialien der StudySmarter Community zu
Kostenlos anmelden DPF
Erstelle Karteikarten und Zusammenfassungen mit den StudySmarter Tools
Kostenlos loslegen DPF