Fixed Property

Fixed Property i​st ein Analysemuster n​ach Martin Fowler. Es beschreibt d​ie gängigste Art w​ie Eigenschaften e​ines Objektes modelliert werden.

Jedes Objekt besitzt Objekt-Eigenschaften, welche Informationen über das Objekt enthalten und es dadurch klassifizieren. Es gibt viele Wege um diese Eigenschaften zu modellieren. Am häufigsten findet man die Verwendung von festen Attributen. Bei dieser Art der Implementierung werden die Attribute in der Klasse (objektorientierte Programmierung) deklariert und durch ihren Namen und den Rückgabetyp definiert.

Verwendung

Initialisiert werden diese Eigenschaften über den Konstruktor der Klasse. Zur Laufzeit stehen Operationen (Methoden) zur Verfügung, um entweder Informationen des Objekt erfragen oder ändern zu können. Diese Methoden werden oft als Get- und Set-Methoden bezeichnet.

Klassendiagramm: Eine mit fixed Properties modellierte Person.
class Person {
  public Date getGeburtsdatum();
  public Integer getAlter();
  public Quantity getHeight();
  public Company getArbeitgeber();
  void setGeburtsdatum(Date neuesGeburtsdatum);
  void setArbeitgeber(Company neuerArbeitgeber);
}

Das Beispiel im Bild rechts ist ein UML-Modell des Typ Person. Der Quelltext oben zeigt einen Teil der Java-Implementierung dieses Objektes. In Person sind folgende Attribute modelliert: Geburtsdatum vom Typ Date, das Alter vom Typ Integer und die Körpergröße vom Typ Quantity.

Quantity i​st ebenfalls e​in Analysemuster v​on Martin Fowler. Man verwendet dies, w​enn es u​m Messbare Werte m​it „Betrag“ u​nd „Einheit“ geht.

Ein weiteres Attribut von Person ist employer. Dies wurde über die Assoziation zum Objekt Company modelliert. Die Implementierung zeigt Methoden zum Ändern und Abrufen der Informationen. Hierbei kann es sich um gespeicherte oder berechnete Werte handeln. In diesem Beispiel

  • public Date getDateOfBirth(); = gespeicherter Wert
  • public int getAge(); = berechneter Wert

Es werden nur set-Methoden für Attribute angeboten, bei denen es gewünscht oder erforderlich ist. Beispielsweise fehlt im Quelltextbeispiel oben eine Operation, um das Alter zu ändern. Dies ist auch nicht notwendig, da es bequem über das Geburtsdatum berechnet werden kann und dadurch reduziert sich die Anfälligkeit durch Fehleingaben.

Vor- und Nachteile

Vorteil: Fixed Properties sind einfach zu implementieren, und es gibt definierte Schnittstellen, mit denen man auf die Attribute zugreifen kann.

Nachteil: Fixed Properties können nur in der Designphase definiert werden.

Sonstiges

In den meisten Anwendungsfällen mit wenig zu verwaltenden Attributen sind fixed Properties völlig ausreichend. Steigt die Anzahl der Attribute stark an oder ändern sich diese oft (auch während der Laufzeit), so werden fixed Properties zunehmend unflexibel. In diesen besonderen Anwendungsfällen bieten sich Muster wie Dynamic Property oder Flexible Dynamic Property von Martin Fowler an.

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. The authors of the article are listed here. Additional terms may apply for the media files, click on images to show image meta data.