Optimaler Entscheidungsbaum: Systemarchitektur
Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /www/htdocs/w0102873/mediawiki/includes/MagicWord.php on line 739
Aus It2010-g1
Segr (Diskussion | Beiträge) (→Aktivitätsdiagramm) |
Segr (Diskussion | Beiträge) (→View) |
||
Zeile 23: | Zeile 23: | ||
=== Aktivitätsdiagramm === | === Aktivitätsdiagramm === | ||
Das folgende Aktivitätsdiagramm zeigt die grundlegende Struktur der Verwendung des Observer Patterns in diesem Projekt.<br> | Das folgende Aktivitätsdiagramm zeigt die grundlegende Struktur der Verwendung des Observer Patterns in diesem Projekt.<br> | ||
− | Die Aktivitäten des Diagramms haben immer folgenden Aufbau: '''Subjekt''' informiert '''Observer''' | + | Die Aktivitäten des Diagramms haben immer folgenden Aufbau: '''Subjekt''' informiert '''Observer'''. |
[[Datei:Aktivitätsdiagramm Observer.png]] | [[Datei:Aktivitätsdiagramm Observer.png]] | ||
Zeile 35: | Zeile 35: | ||
Die wichtigsten Elemente der Architektur sind: | Die wichtigsten Elemente der Architektur sind: | ||
* die '''View''', | * die '''View''', | ||
− | * das '''Model''' | + | * das '''Model''', |
− | * und der '''Controller''' | + | * und der '''Controller'''. |
=== View === | === View === | ||
+ | Die Schnittstelle zwischen dem Programm und dem Nutzer wird von der View gestellt<br> | ||
+ | Die View/GUI ist zur grfischen Darstellung und zur dierekten interaktion mit dem Nutzer verantwortlich. Neben der | ||
+ | * Hauptklasse '''"View"''' | ||
+ | gehören noch die Klasse | ||
+ | * '''"TableView"''' (die Tabellenansicht), | ||
+ | * '''"TreeView"'''' (die Baumansichten), | ||
+ | ** '''"TreeZoomView"''' (der Zoom eines Bäume), | ||
+ | *** '''"TreePainter"''' (die gezeichnete darstellung eines Baumes) | ||
+ | ** '''"TreeDetails"''' (die Informationen eines Ausgewählten Knotens, die neben dem Baum dargestellt werden) | ||
+ | * '''"FullScreenTreeView"''' (die Baumansicht für den Presentationsmodus) | ||
+ | dazu.<br> | ||
+ | Die Klassen View, TableView und TreeView beobachten jeweils als Observer das [[Optimaler_Entscheidungsbaum:_Systemarchitektur#Model | Model]]. | ||
=== Model === | === Model === | ||
+ | Das Model besitzt die Tabelle, den interaktiven Baum und den automatischen Baum. Es beobachtet als Observer die Tabelle und die Bäume und wird als Subject vom [[Optimaler_Entscheidungsbaum:_Systemarchitektur#Controller | Controller]] und von mehreren Klassen der [[Optimaler_Entscheidungsbaum:_Systemarchitektur#View| View]] beobachtet.<br> | ||
+ | Es dient somit als Schnittstelle zwischen dem [[Optimaler_Entscheidungsbaum:_Systemarchitektur#Controller | Controller]] und den Daten (Tabelle und Bäume). | ||
=== Controller === | === Controller === | ||
+ | Der Controller ist eine Klasse, die die Schnittstelle zwischen GUI und Funktionalität herstellt, damit diese beiden Bereiche nicht vermischt werden. Dabei stellt der Controller selbst auch einen Teil der Funktionalität dar.<br> | ||
+ | Er beobachtet als Observer das [[Optimaler_Entscheidungsbaum:_Systemarchitektur#Model | Model]].<br> | ||
+ | Die [[Optimaler_Entscheidungsbaum:_Systemarchitektur#View| View]] spricht den Controller an, wenn die Tabelle bearbeitet, eine Tabelle oder ein Baum geladen oder eine Tabelle oder ein Baum gesteichert werden soll. Der Controller greift dann auf die zuständigen Klassen zu. Somit muss die [[Optimaler_Entscheidungsbaum:_Systemarchitektur#View| View]] immer nur auf dne Controller zugreifen und wird nicht weiter mit der Funktionalität des Programmes verstrickt. |