Codefieber.de

IT-Blog

Java MVC (Model-View-Controller) Uebung

| Keine Kommentare

Java MVC (Model-View-Controller) Uebung

In der Softwareentwicklung ist MVC (Model-View-Controller) heutzutage nicht mehr weg zu denken. Ich habe hier mal so ein kleines MVC Projekt zur Übung.

Gegeben ist die Anwendung zur Steuerung eines Mikrowellenofens nach folgendem Beispiel:

MVC Ofen Projekt

Die Mikrowelle hat verschiedene Zustände:
– ist die Tür geschlossen, so kann der Startknopf betätigt werden, die Lampe geht an und die
Mikrowelle heizt für 6s auf. Danach gehen Röhre und Lampe wieder aus.
– Wird die Tür geöffnet, so kann die Welle nicht gestartet werden bzw. wird ein laufender
Heizvorgang unterbrochen. Die Lampe geht an.
Die Anwendung ist als BLOB (binary large object) programmiert, in einer etwas unstrukturierten Form
aufgeschrieben und besteht aus den beiden folgenden Dateien:

Aufgaben

1. Problemanalyse

• Machen Sie sich anhand geeigneter Quellen mit dem MVC-Entwurfsmuster vertraut
(z.B.: unter http://de.wikipedia.org/wiki/Model_View_Controller )

• Ändern Sie die Anwendung so ab, dass die Klasse OvenBlob entsprechend dem
MVC-Konzept komplett ersetzt wird durch die drei Klassen OvenView, OvenController
und OvenModel. Alle Funktion/Methoden sollen entsprechend der Regeln, die auch
für die Kapselung wichtig sind, den neuen Klassen zugeordnet werden.

• Suchen und beheben Sie evtl. noch vorhandene Fehler. Setzen sie ggf. Methoden des
Unit-Testings für einen fehlerfreien Ablauf ein.

• Erstellen Sie ein entsprechendes Klassendiagramm für Ihre Anwendung.

2. Expertenrunde:

• Fassen Sie Ihre Beobachtungen zusammen und halten Sie fest, wie das MVC-Muster
implementiert wird.

Zusatzaufgabe:
Implementieren Sie in Ihre Lösung das Observer-Pattern zur Benachrichtung mehrerer Views bei
Veränderungen im Model.

Gegeben ist dieser Code (siehe unten), der nun in ein sauberes MVC-Projekt umgebaut werden soll:

 
 

Meine Idee sieht wie folgt aus:

Main:

 

Model:

 

View:

 

Controller:

avatar

Autor: Pascal

Codefieber.de wird von Pascal Betke geführt, administriert und gestaltet. Alle Inhalte sind persönlich von mir ausgewählt und erstellt, nach bestem Gewissen und Können, was die Möglichkeit von Fehlern nicht ausschließt.

Schreibe einen Kommentar

Pflichtfelder sind mit * markiert.