Autor Thema: DocumentCollection mit Dokumenten aus mehreren Datenbanken  (Gelesen 4556 mal)

Offline MadMetzger

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.052
  • Geschlecht: Männlich
  • f.k.a. Alexis Pyromanis
Re: DocumentCollection mit Dokumenten aus mehreren Datenbanken
« Antwort #20 am: 20.11.06 - 08:52:26 »
Daran, dass eine NotesDocumentCollection immer an eine NotesDatabase gebunden ist, habe ich nie gezweifelt. Damit gehen wir wohl konform. Alles andere sind Begrifflichkeiten und man könnte es auch fast als Haarspalterei bezeichnen, aber es ist eigentlich auch egal, als was man das jetzt bezeichnet.

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: DocumentCollection mit Dokumenten aus mehreren Datenbanken
« Antwort #21 am: 20.11.06 - 09:50:01 »
Du missverstehst da die Vererbung:
NotesSession -> NotesDatabase -> NotesDocumentCollection.

Hilfreich ist es zudem immer, wenn man die Theorie (oder wie man sie bisher verstanden hat) einfach selber ausprobiert.  :)
Markus hat da schon Recht. Die einzigen Klassen zwischen denen in Lotus Notes eine Vererbungshierarchie besteht sind:
NotesRichTextItem extends NotesItem.
Der Rest der Verknüpfungen ist über Delegation gelöst.
Das gilt oft als sowieso besser oder: Wenn Anfänger Vererbung verstehen, neigen sie dazu, dies für Dinge anzuwenden, für die Delegation besser ist. Dies hab ich in der realen Welt bei übernommenen Projekten oft festgestellt.

Die Begriffe sind so klar definiert, dass eine Diskussion echt zwecklos ist.
Wenn du in die Notes Hilfe zu NotesItem schaust, dann steht da:
Zitat
NotesItem
Derived Classes
NotesRichTextItem inherits from NotesItem class.
und bei NotesRichTextItem:
Zitat
Base class
Inherits from: NotesItem
Das wirst du nirgendwo anders in der Doku finden und das hat auch einen Grund.

Wie Markus richtig angesprochen hat, sind an die Objekte des Typs NotesRichTextItem direkt die Methoden von NotesItem gebunden.
An instance of the type NotesRichTextItem is a NotesItem.

Zwischen NotesSession, NotesDatabase und NotesDocumentCollection bestehen Delegations-Beziehungen.
An instance of the type NotesDatabase has a NotesCollection.

Delegation ist aus Sicht von Kappselung eigentlich oft die bessere Beziehung. Klassen werden nämlich so kohäsiver hinsichtlich ihrer Rolle. Somit konziser, fokussierter, zielgerichteter.

Würde NotesDocumentCollection von NotesDatabase erben, dann wäre an ein Objekt des Typs NotesDocumentCollection z.B. die Methode Replicate() direkt gebunden. Das macht aber wenig Sinn. Falsch angewandte Vererbungshierarchien führen dazu, dass die APIs zu einer Klasse unnötig aufgebläht werden. Und das kann echt nervig werden und ich erlebs nicht selten in der Praxis in selbstgedrehten Objektmodellen in Java Projekten unseres Landes.

Gruß Axel
« Letzte Änderung: 20.11.06 - 09:52:07 von Axel Janssen »
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: DocumentCollection mit Dokumenten aus mehreren Datenbanken
« Antwort #22 am: 20.11.06 - 10:45:08 »
Da hat sich aber jahrelang regelrechter Begriffsmüll bei mir festgefressen ... Und wenn man sich dann noch auf die Sache mit der NotesDocumentCollection konzentriert ... Danke, Markus und Axel!

Bernhard

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz