CW #09 Homework Due 2/2

Verstehe nicht ganz was ich da mache soll.

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

CW #09 Homework Due 2/2
In den Folien steht:

Determine components boundaries
● Persistence, domain model, user interface
● And implement appropriate error handling

Ich verstehe nicht ganz, was hier gemacht werden soll?
Soll ich durch das ganze Projekt gehen und alle öffentlichen Methoden finden und dann in eine Liste in das abzugebende PDF schreiben?
Oder soll man sich nur auf die Interaktion zwischen Persistence, domian model und user interface (webparts?) beziehen?

Also sind es zwei fragen einmal etwas genauer was getan werden soll und, in welcher Form es abzugeben ist.

Vielen Dank für die Hilfe :slight_smile:


Ich denke die Antwort ist im Video zur heutigen Vorlesung:
https://youtu.be/6XzRm5pe26w?t=3684

1 „Gefällt mir“

Also, wir sind in Kurswoche 8 und haben Error und Exception Handling gelernt / diskutiert.

Hausaufgabe fuer die naechste Woche ist, dieses anzuwenden. Somit is in Woche 9 diese Anwendung faellig. Die Details werden in Course Schedule / Homework CW #09 Homework Due 2/2 besprochen.

(Ich gehe hier schrittweise vor, um mich selbst sauber zu verorten.)

Anwendung auf Ihre Klassen heisst dort (verkuerzt wiedergegeben):

  1. At a minimum, Coordinate, Photo, und related classes.
  2. Review the contracts
  3. Determine component boundaries

Also, die Schnittstellen der konkret benannten Klassen sollen um saubere Fehlerbehandlung ergaenzt werden. Etwas Freiheit ist ihnen durch “related classes” gegeben, mehr oder weniger zu machen.

Ich erwarte also in diesen Schnittstellen veraenderte Methoden (sofern etwas zu veraendern ist) bzgl. Fehlercodes und Ausnahmen, die potentiell geworfen werden koennen. Entsprechend muss der Code hinter der Schnittstelle sowie der nutzende Code angepasst werden (Zusammenhang zwischen Anbieter und Abnehmer, also Design by Contract, was eng mit sauberer Fehlerbehandlung zusammenhaengt).

Im zweiten Schritt gibt es dann ja “Groessenordnungen” per Vorlesung. Wg. 3. oben, schauen Sie sich also an, wo jenseits einzelner Klassen groessere Komponenten zu finden sind. Hier schlage ich per Hausaufgabenbeschreibung vor, dass Sie diese Komponentengrenzen auf die ueblichen Schichten Persistenz, Fachmodell, und Benutzungsschnittstelle legen (um es einfach zu machen). Bei Wechsel des Kontrollflusses von einer Schicht in die naechste kommen erweiterte Konzepte, siehe Vorlesung, zum Tragen, die sie anwenden sollen.

Sie muessen (koennen) nicht jede Klasse veraendern; mind. moechte ich aber, dass sie das exemplarisch durchziehen und in Ihrer eingereichten Hausaufgabe belegen und erlaeutern.

HTH