Startseite Sie befinden sich hier: Startseite > exom SDK > Objekt Modell


Valid HTML 4.01 Transitional


Sprache wechseln: Englisch

Das Objekt Modell

Das Objekt Modell bildet die Basis des exom Frameworks. Das Modell ist angelegt, um die im vorangegangenen Abschnitt beschriebenen Funktionalitäten zu unterstützen. Wie für ein Objekt Modell typisch, bietet das Framework eine Klasse, von der alle Klassen abgeleitet werden, um sie in das Objekt Modell zu integrieren. Im exom Framework ist dies die Klasse exom::XmObject. Um ein Maximum an Flexibilität zu erreichen, stehen für das Framework folgende Hauptziele im Mittelpunkt:
  • Einfachheit bei der Verwendung
  • Minimaler Verbrauch von Systemressourcen (Speicher und CPU Zeit)
  • Einfache Integration in verschiedene Umgebungen.
Um diese Flexibilität und die beschriebenen Funktionen zu unterstützen, hat die Basisklasse exom::XmObject folgende Eigenschaften:
  • Kleines Interface - 12 virtuelle Methoden
  • Enthält keine eigenen Member Attribute
  • Leerer Konstruktor / Destruktor
  • Keine Verwendung von Makros und Templates
Das folgende Beispiel zeigt, wie einfach es ist, eine Klasse in das Objekt Modell zu integrieren:

class MyClass : public XmObject
{
    // --- XmObject ---
    XMOBJ     ObjectID () const         { return myns.OBJ_MY_OBJECT; }
    void      manage   (XmMan& m)       {  }
};

Nun kann diese Klasse in exom Framework verwendet werden. Üblicherweise werden in einer Klasse Attribute wie Strings, Integer,... oder andere Klassen als Member verwendet. Um diese Member ins Framework aufzunehmen, müssen diese mit ihrer übergeordneten Klasse verknüpft werden, wie das folgende Beispiel zeigt:

 

class MyClass : public XmObject
{
    int         myInt;
    MySubClass  mySubClass
    // --- XmObject ---
    XMOBJ     ObjectID () const         { return myns.OBJ_MY_OBJECT; }
    void      manage   (XmMan& m)
    {
        m.manInt32 (myInt, myns.OBJ_MY_OBJECT);
        m.manObj   (mySubClass);
    }
};

Eine Zeile Code für jeden Member - nicht mehr . Mehr Informationen darüber findet sich im Abschnitt Objekt Modell der Referenz Dokumentation.


Vorteile zu anderen Objekt Modellen

Es gibt eine Reihe von bekannten Objekt Modellen die in der objektorientierten Programmierung verwendet werden. Warum also das Objekt Modell des exom Framework benutzen? Der größte Unterschied zu vielen anderen Objekt Modellen ist, dass die Verwaltung einer Datenhierarchie in der üblichen nativen C++ weise geschieht anstelle der Verwendung eines komplexen DOM Baums. Vorteile:
  • Einfaches Datenhandling in der gewohnten typsicheren Weise anstelle von Zugriffsfunktionen oder Verwendung von Typecasting
  • Speicherschonend durch Verwendung von nativen Daten
  • Keine Datenkonvertierung bei der Bearbeitung von Daten notwendig
  • Einfache Datentypen wie int, char, bool,... werden ohne zusätzliche Verwaltungsdaten (wie IntNode, CharNode,...) gespeichert.
  • Unterstützt std::string als atomaren Datentyp
  • Die Objekt (Array) Basisklasse verwendet keine zusätzlichen Member Attribute und ermöglicht somit eine Reduzierung von Speicherverbrauch, CPU-Zeit und Probleme, die durch ihr Kopieren entstehen können.

Copyright © 2006 Praetz Software Development - www.exomware.com