Announcement

Collapse
No announcement yet.

SpeicherModel, aber wie?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • SpeicherModel, aber wie?

    Also ich grübelte gerade darüber nach wie man bei einer Anwendung die aus vielen einzelnen, aber voneinander abhängigen, Bereichen besteht eine Schnittstelle schaft welche die Teile miteinander verbindet.

    Da dachte ich eigentlich an eine Baumstruktur welche aus Knotenpunkten besteht. Jeder dieser Knoten kann dabei einen Wert (Object) speichern und beliebig viele Unterpunkte besitzen.

    Jeder Teilbereich bekommt nun also die Wurzel (Root) dieses Baumes übergeben und kann dann auf weiter unten im Baum gespeicherte Informationen zugreifen. Dabei dachte ich an ein Schema welches der Klassenstruktur von Java sehr ähnlich ist. So wollte ich mit "<b>A.C.E</b>" auf den Wert "E" zugreifen. Dabei ist "A.C.E" ein String welcher an die Wurzel übergeben wird.
    <pre>Root
    |
    +-A
    | |
    | +-B
    | |
    | +-C
    | | |
    | | +-E
    | |
    | +-D
    |
    +-B</pre>
    Allerdings halte ich das ganze für sehr aufwendig und nicht alzu perfomant (trotz Baumstruktur). Gibt es dafür vieleicht schon bessere vorgefertigte Lösungen?

    mfG Tobias Oelgarte

  • #2
    Was Du beschreibst, ist mit der Windows-Registry vergleichbar = zentrales Repository, um Werte zu speichern, beliebig erweiterbar.<p>
    Da Du die Knoten in einer Datenstruktur Deiner Wahl speichern kannst, sollte es auch einigermaßen performant sein, nur Stringvergleiche auf Knotennamen kosten nun mal Zeit (vielleicht mit Integer-Konstanten, kann man im Code ebenso lesen, sind aber wesentlich fixer ausgewertet).<p>
    Du kannst noch einmal Speed rausholen, wenn Du statt lauter kleiner Eintraege im Baum Standard-Datenstrukturen als einzelne Objekte implementierst, die dann "mit einem Rutsch" aus dem Repository geholt und von dem entsprechenden Teil der Anwendung ausgewertet werden, z.B. Adressen, Farben (Name, RGB-Werte) und was Du sonst noch alles speichern willst.<p>
    Dann kannst Du mit explizitem Casting eine Menge sparen, wenn Du die Werte nicht erst versuchst zu interpretieren, sondern genau angibst, was Du erwartest und im Fehlerfall die Exception handelst - aber das macht ja eh fast jeder so.<p>
    Ich jedenfalls sehe keinen Grund, warum diese Baumstruktur aufwendiger und langsamer sein sollte als irgendeine andere umfangreiche Datensammlung. Fertige InformationBroker kenn ich allerdings nicht, bisher hatte ich mit eher weniger Informationen zu tun. Vielleicht eine objektorienterte Datenbank, da greifst Du dann ja auch ueber Pfade zu.<p>
    MfG Marc

    Comment


    • #3
      Hallo Tobias,<br>
      ich habe ein &auml;hnliches Problem mit einem XMLDocument gel&ouml;st.
      Die Parser sind schon relativ auf Geschwindigkeit getrimmt. Vor allem kommst Du sehr schnell zu den Kindern, zur Wurzel, zu den V&auml;tern, etc.<br>
      Ich hoffe, das war ein guter Tip...<br>
      Viele Gr&uuml;&szlig;e, Michae

      Comment

      Working...
      X