14.09.2013 Aufrufe

Entwicklung eines flexiblen Objektmodells für ein ... - Jens Pfau

Entwicklung eines flexiblen Objektmodells für ein ... - Jens Pfau

Entwicklung eines flexiblen Objektmodells für ein ... - Jens Pfau

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

18 III. Taxonomie<br />

Typen als Klassen<br />

Die objektorientierte Programmierung bietet an, Typen als Sprachkonstrukte zu realisieren,<br />

nämlich als sogenannte Klassen, die <strong>für</strong> ihre Instanzen sowohl <strong>ein</strong>e gem<strong>ein</strong>same Datenbasis als<br />

auch das Verhalten vordefinieren. Es bleibt offen, wie detailliert die Typen spezifiziert werden.<br />

Gibt es nur <strong>ein</strong>e <strong>ein</strong>zige Klasse, wie bei der Modellierung der Daten mit Hilfe von dynamischen<br />

Attributen oder gibt es <strong>für</strong> jeden denkbaren Typ von Spielobjekt <strong>ein</strong>e korrespondierende Klasse<br />

mit spezifischen Daten und Verhalten? Es ist auch vorstellbar, jeweils <strong>für</strong> Kategorien von Spielobjekten<br />

<strong>ein</strong>e Klasse anzulegen, die konkreten Typen und deren Instanzen jedoch weiterhin<br />

mit dynamischen Attributen oder Eigenschaften und eigenem Verhalten zu individualisieren.<br />

Letzteres findet als Kategorieobjekte Erwähnung in der Literatur [Riley, 2003].<br />

Vorteile:<br />

• Da Elemente der Programmiersprache genutzt werden, ist das Verfahren effizienter als<br />

andere.<br />

• Diese Methode kann sehr flexibel <strong>ein</strong>gesetzt werden. Der Grad der Typisierung kann <strong>für</strong><br />

verschiedene Spielobjektkategorien unterschiedlich gehalten werden.<br />

Nachteile:<br />

• Werden die Typen der Spielobjekte zu genau vorgegeben, wird das System im Fall von<br />

Änderungen schwerfällig. Dann muss möglicherweise <strong>ein</strong>e ganze Klassenhierarchie aufgebrochen<br />

werden, um neuen Anforderungen gerecht zu werden.<br />

• Auch kl<strong>ein</strong>ere Änderungen erfordern möglicherweise <strong>ein</strong>e Neukompilierung der gesamten<br />

Klassenhierarchie.<br />

Typen als Muster<br />

Basiert <strong>ein</strong> System auf Methoden des data-driven Design, ist es nicht unüblich, Typen von<br />

Spielobjekten als Muster zu definieren [Bilas, 2002]. Diese bestehen dann aus Eigenschaften<br />

und Verhalten, die in den Formen modelliert sind, wie sie in den vorigen Abschnitten vorgestellt<br />

wurden. Jedes Spielobjekt wird als Kopie <strong><strong>ein</strong>es</strong> solchen Prototyps angelegt oder hält<br />

<strong>ein</strong>en Verweis auf s<strong>ein</strong> Muster und erbt somit dessen Daten und Verhalten. Dabei ist nicht<br />

ausgeschlossen, dass <strong>ein</strong>e Instanz die Eigenschaften ihres Musters überschreibt.<br />

Vorteile:<br />

• Das System unterstützt das data-driven Design. Typen können von Spieldesignern in externen<br />

Werkzeugen angelegt werden.<br />

• Das System ist sehr flexibel. Typen können sehr unterschiedlich s<strong>ein</strong> und Instanzen können<br />

in jeder Eigenschaft verschieden von ihren Typen s<strong>ein</strong>.<br />

18 <strong>Jens</strong> <strong>Pfau</strong> · Stephan Mehlhase

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!