Domino 9 und frühere Versionen > Entwicklung

Wie kann ich eine Klasse sinnvoll aufbauen ?

<< < (21/41) > >>

TMC:

--- Zitat von: Thomas Völk am 27.06.04 - 00:49:59 ---Im Konstruktor des History-Objekts (oder in einer Methode, die von dort aus aufgerufen wird) erzeugen wir für jeden Eintrag im Dokument ein HistoryEntry-Objekt und fügen es unserem Array (m_HistoryEntries, s. oben) hinzu.
--- Ende Zitat ---

Meinst Du damit, dass pro Feld-Änderung ein HistoryEntry-Objekt erzeugt wird? Also: Feld1 hat sich geändert -> wir machen ein neues HistoryEntry-Objekt auf, Feld2 hat sich geändert -> wir machen ein weiteres neues HistoryEntry-Objekt auf usw. ?

animate:
nein. pro Eintrag.
Ein Eintrag enthält alle Änderungen eines Speichervorgangs.
wenn deine Einträge einzeilig wären, könnte man sagen ein Objekt pro Zeile

animate:
das heißt, du liest beim Öffnen des Dokuments erstmal alle History-Einträge aus (musst du ja sowieso machen, um die Größe zu bestimmen).

TMC:
Danke, hab ich nun soweit verstanden.

Das hier bestätigt es auch:

--- Zitat von: Thomas Völk am 27.06.04 - 00:49:59 ---Wir haben jetzt also alle HistoryEntry-Objekte in unserem Array, und können bevor wir sie ins Dokument schreiben jedes HistoryEntry-Objekt fragen, wie groß es ist, und mit dieser Information entscheiden, wie viele Einträge wir machen.
--- Ende Zitat ---

Blöde Frage: Was bringt es, alle Einträge separat in einem Objekt zu haben? Oder anders herum: Ist das eleganter, als wie wenn man das komplette Array (also ein String-Array mit den History-Einträgen) als ganzes behandelt?
Ich sehe da noch nicht ganz den Vorteil.

animate:

--- Zitat von: TMC am 27.06.04 - 01:21:02 ---
--- Zitat von: Thomas Völk am 27.06.04 - 00:49:59 ---Nur ne Idee. Einigermaßen verständlich?
--- Ende Zitat ---

Leider nicht ganz.
Liegt wohl auch an meinem etwas anderen Ansatz.

--- Ende Zitat ---

Also wie gesagt, im Konstruktor der History lesen wir die bisherigen History-Einträge im Dokument aus und erstellen für jeden Eintrag ein HistoryEntry-Objekt. Alle HistoryEntry-Objekte wandern in ein Array/Liste/...
Die Liste ist Attribut der History (Membervariable)

Zu dieser Liste kommt noch der HistoryEntry für die aktuelle Änderung.

Ein Dokument wurde bis jetzt dreimal gespeichert und gerade wurde es zum vierten Mal gespeichert, ergo haben wir vier HistoryEntry-Objekte.

O1 vom 10.06.
O2 vom 12.06.
O3 vom 17.06.
O4 vom 25.06.

So, nun müssen wir die History im Notesdokument aktualisieren und dabei aufpassen, dass wir nicht zuviel Text schreiben.
Die max. Größe ist unserem History-Objekt bekannt.
Ebenfalls kennt dieses Objekt alle HistoryEntry-Objkete, die ins Dokument müssen.

Mein Gedanke ist nun, dass das HistoryObjekt nacheinander jedes HistoryEntry-Objekt fragt, wie groß es ist und zwar solange, bis die Gesamtgröße überschritten wurde oder eben kein Objekt mehr zum Fragen da ist.

Also:
Größe max = 15k

O4, wie groß bist du? - 4k -> Summe 4, OK
O3, wie groß bist du? - 4k -> Summe 8, OK
O2, wie groß bist du? - 4k -> Summe 12, OK
O1, wie groß bist du? - 4k -> Summe 16, mööp

O2, schreib dich ins Dokument
O3, schreib dich ins Dokument
O4, schreib dich ins Dokument


oder zumindest so ähnlich.
etwas klarer?

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln