ebody: Frage bzgl. OOP und einem Klassen Diagramm

Beitrag lesen

Vielen Dank schon mal euch beiden. Das hilft mir schon mal weiter.

Das sollte ein UML Klassendiagramm sein, eine grobe Übersicht für mich, aber muss mich nochmal damit befassen, um korrekte, logisch nachvollziehbare Diagramme zu erstellen.

Ich habe alles nochmal überdacht und jetzt eine solche Klasse (ja nicht korrekt, als grober Entwurf gedacht) erstellt.

Klassendiagramm Entwurf

Von getData() ist alles abhängig. getData() soll direkt mit Aufruf der Klasse ausgeführt werden (im Constructor). Hier wird geprüft, ob es sich um eine Google Spreadsheet URL handelt, die die Spreadsheet Daten als JSON zurückgibt.

https://spreadsheets.google.com/feeds/cells/.../1/public/full?alt=json

Und bei Erfolg, aus diesem JSON nur die Datensätze (inkl. Spaltenüberschriften) in einem Array speichert...Die anderen Methoden wie z.B. list(), welche das Array, die Datensätze Zeile für Zeile ausgeben soll, sollte nur dann ausgeführt werden können, wenn getData() Daten liefern kann.

Hier überlege ich gerade wie ich dass am besten nur mit der Klasse umsetze.

Ich könnte ein Script außerhalb der Klasse wie dieses verwenden...

if(new SpreadsheetData(spreadhsheetUrl) === success){
SpreadsheetData.list();
}

Oder

try {
   let sheet = await new SpreadsheetData(spreadhsheetUrl);
   SpreadsheetData.list();
}
catch(err) {
   // handle error
}

...aber würde es lieber so handhaben, dass wenn ich z.B.

SpreadsheetData.list();

anwende, ein Feedback bekomme, wenn es keine Daten gibt, die Funktion daher nicht nutzen kann, warum nicht und was zu tun ist.

Habt ihr evtl. einen Link zu einem Beispielscript, wie man so etwas am besten umsetzt oder wo so ein Vorgehen erläutert wird?

Gruß ebody