Aufgabenstellung
Im Modul 326 (Objektorientiert entwerfen und implementieren) lernten wir verschiedene Design-Patterns kennen. Diese Entwurfsmuster, welche auf die individuelle Situation angepasst werden müssen, können für die Lösung eines abstrakten Problems herbeigezogen werden.
Um mir das Lernen zu erleichtern, habe ich mich dazu entschieden, ein eigenes Projekt zu realisieren. Die Applikation verfolgt das Observer-Pattern, welches das Problem lösen soll, dass sich Objekte bei Veränderung anderer Objekte orientieren können. Meine Applikation gibt die Zinsen auf zehnjährige US Staatsanleihen und Unternehmensanleihen sowie den daraus resultierenden Credit Spread (Kreditaufschlag, Risikoprömie) aus. Der Credit Spread wird im Finanzwesen als Indikator für zukünftige Kreditausfälle verwendet und ist daher für Unternehmen (Emittent, Kreditnehmer) wie auch für Investoren (Kreditgeber) von entscheidender Wichtigkeit.
Dieser Auftrag umfasst folgendes Handlungs- und Leistungsziel:
- HZ4: Objektorientiertes Design implementieren
- LZ22: Ich kann im Design gegebene Entwurfsmuster implementieren
Mein persönliches Ziel war, dass der Credit Spread (Differenz zwischen beiden Zinssätzen) korrekt ausgegeben wird.
Produkt
Das Subject (Herausgeber) kommuniziert mit dem Observer-interface, welches wiederum via "implements" mit den Anleihen-Klassen kommuniziert:
Subject
GetTheYield
Implementiert "Runnable". Runnable kann bei der Erstellung von Threads verwendet werden. In meinem Beispiel gebrauche ich die Methode "run" um die Ausführung der Berechnungen in zwei Sek. Schritten zu machen:
Ausgabe
Reflexion und Validierung
Bei der Realisierung dieses kleinen Projekts musste ich einige Hürden überwinden, an denen ich rückblickend jedoch gewachsen bin. Von der Planung bis zur Fertigstellung vergingen zirka vier Tage. Ich hätte effizienter arbeiten sollen.
HZ4: Objektorientiertes Design implementieren
Das Observer-Pattern wurde angewendet. Eine Analyse wurde vor der Realisierung gemacht.
LZ22: Ich kann im Design gegebene Entwurfsmuster implementieren
Das Observer-Pattern wurde verwendet.
Mein persönliches Ziel war, dass der Credit Spread (Differenz zwischen beiden Zinssätzen) korrekt ausgegeben wird.
Der Credit Spread wird korrekt ausgegeben.