• Shuffle
    Toggle On
    Toggle Off
  • Alphabetize
    Toggle On
    Toggle Off
  • Front First
    Toggle On
    Toggle Off
  • Both Sides
    Toggle On
    Toggle Off
  • Read
    Toggle On
    Toggle Off
Reading...
Front

Card Range To Study

through

image

Play button

image

Play button

image

Progress

1/8

Click to flip

Use LEFT and RIGHT arrow keys to navigate between flashcards;

Use UP and DOWN arrow keys to flip the card;

H to show hint;

A reads text to speech;

8 Cards in this Set

  • Front
  • Back
Facade Pattern
Eine Fassade bietet eine einheitliche vereinfachte Schnittstelle zu einer Menge von Schnittstellen eines Subsystems. Sie enthält eine häufig benötigte Untermenge der gesamten Funktionalität des Subsystems und vereinfacht damit die Kommunikation mit dem Subsystem.

Vorteil: Unterstützt Loose Coupling und reduziert Komplexität.
Command Pattern
Ein Command Object kapselt eine Aktion und stellt ein öffentliches Interface bereit, über das die Aktion ausgeführt werden kann.

Vorteil: Der Client (in diesem Fall die View) kann Aktionen auslösen, ohne dass er Details über diese Aktion kennen muss. Die Aktion kann daher beliebig verändert werden, ohne dass dadurch Änderungen am Client (die View) vorgenommen werden müssen => Loose Coupling
Command Pattern und WPF
In WPF wirden Command Objects verwendet, um die gewünschten Aktionen zu kapseln, die durch verschiedene GUI-Element ausgelöst werden sollen. Ein Command Object implementiert das ICommand Interface und stellt somit mindestens die Funktionen "CanExecute" und "Execute" bereit. In der Methode "CanExecute" kann eine Bedingung formuliert werden, die für die erfolgreiche Ausführung der Aktion erfüllt sein muss. In der Methode "Execute" wird die Aktion selbst definiert.

<Button x:Name="btn_startSimulation"
...
Command="{Binding SimulationCommand}"/>

In der View wird über das Bindingsystem einem GUI-Element das Command Object mit der gewünschten Aktion zugeordnet. Betätigt der Nutzer das GUI-Element, so wird im zugehörigen Command Object die Bedingung der "CanExecute" - Methode geprüft und - sofern diese erfüllt ist - die Aktionen der "Execute"-Methode ausgeführt.
Command Pattern und MVC
Der Button eines MVC-Formulars führt zum Aufruf einer Post-Methode. In dieser Post-Methode ist die Aktion definiert, die daraufhin ausgeführt werden soll. Somit ist die Aktion ähnlich wie bei der Verwendung eines Command-Objects gekapselt. Die View braucht keine Details zur auszuführenden Aktion kennen und die Aktion kann geändert werden, ohne dass Änderungen an der View notwendig sind.
Delegates und WPF Commands
Ein Delegate definiert eine Methoden-Signatur und ist gekennzeichnet durch das Schlüsselwort "delegate". Bei der Instanziierung kann einem Delegate eine beliebige Methode mit kompatibler Signatur zugewiesen werden. Delegates werden dazu verwendet, um Methoden als Argumente in anderen Methoden aufzurufen.
Das Prinzip des ViewModels in WPF
Um die Vermittler-Funktion zwischen View und Model ausüben zu können, verwendet das ViewModel Model-Properties zusammen mit dem PropertyChangedEventHandler und Commands.

Properties:
Für die Properties des Models werden neue Properties im ViewModel angelegt, deren Getter den Wert des Model-Properties an die View weitergeben und deren Setter die Änderungen in der View an das zugehörige Model-Property durchreichen. Im Setter wird aber auch die "NotifyPropertyChanged"-Methode aufgerufen und somit sichergestellt, dass bei einer Model-seitigen Änderung des Properties die View entsprechend aktualisiert wird.
Komponenten von MVVM
Model:
Alle relevanten Entitäten werden hier in C#-Model Klasse abgebildet und repräsentieren damit das Domain Model der Applikation.

View:
Hier werden die graphischen Elemente der GUI wie z.B. Windows, Buttons, Labels etc. in einer XAML-Datei beschrieben. Einzelne XAML-Tags repräsentieren einzelne GUI-Elemente und definieren deren Layout, Inhalte und Ereignisse. Während das Layout der Elemente direkt im XAML-Code definiert wird, werden die Inhalte der Elemente durch das Binden an ViewModel-Properties und die Ereignisse durch das Binden an ViewModel-Commands bestimmt.

ViewModel:
Das ViewModel bildet die Brücke zwischen View und Model. Es ist dazu da, um die GUI vom Rest der Anwendung zu entkoppeln. Loose Coupling zwischen GUI und Models führt dazu, dass
1. die View völlig unabhängig vom Rest der Anwendung entwickelt werden kann.
MVVM versus MVC
...