<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Fixed_Property</id>
	<title>Fixed Property - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Fixed_Property"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Fixed_Property&amp;action=history"/>
	<updated>2026-05-22T04:51:46Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Fixed_Property&amp;diff=552857&amp;oldid=prev</id>
		<title>imported&gt;Graph Pixel: Tippfehler korrigiert.</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Fixed_Property&amp;diff=552857&amp;oldid=prev"/>
		<updated>2025-03-12T11:48:58Z</updated>

		<summary type="html">&lt;p&gt;Tippfehler korrigiert.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Fixed Property&amp;#039;&amp;#039;&amp;#039; ist ein [[Analysemuster]] nach [[Martin Fowler]]. Es beschreibt die gängigste Art wie Eigenschaften eines Objektes modelliert werden.&lt;br /&gt;
&lt;br /&gt;
Jedes [[Objekt (Programmierung)|Objekt]] besitzt Objekt-Eigenschaften, welche Informationen über das Objekt enthalten und es dadurch klassifizieren.&lt;br /&gt;
Es gibt viele Wege um diese Eigenschaften zu modellieren. Am häufigsten findet man die Verwendung von festen Attributen.&lt;br /&gt;
Bei dieser Art der Implementierung werden die Attribute in der [[Klasse (objektorientierte Programmierung)]] deklariert und durch ihren Namen und den Rückgabetyp definiert.&lt;br /&gt;
&lt;br /&gt;
== Verwendung ==&lt;br /&gt;
Initialisiert werden diese Eigenschaften über den [[Konstruktor]] der Klasse.&lt;br /&gt;
Zur Laufzeit stehen Operationen (Methoden) zur Verfügung, um entweder Informationen des Objekts erfragen oder ändern zu können.&lt;br /&gt;
Diese Methoden werden oft als Get- und Set-Methoden bezeichnet.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Fixed Property Klassendiagramm.svg|miniatur|Klassendiagramm: Eine mit &amp;#039;&amp;#039;fixed Properties&amp;#039;&amp;#039; modellierte Person.]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
class Person {&lt;br /&gt;
  public Date getGeburtsdatum();&lt;br /&gt;
  public Integer getAlter();&lt;br /&gt;
  public Quantity getHeight();&lt;br /&gt;
  public Company getArbeitgeber();&lt;br /&gt;
  void setGeburtsdatum(Date neuesGeburtsdatum);&lt;br /&gt;
  void setArbeitgeber(Company neuerArbeitgeber);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das Beispiel im Bild rechts ist ein [[UML]]-Modell des Typ Person. Der Quelltext oben zeigt einen Teil der [[Java (Programmiersprache)|Java]]-Implementierung dieses Objektes.&lt;br /&gt;
In Person sind folgende Attribute modelliert: Geburtsdatum vom Typ Date, das Alter vom Typ Integer und die Körpergröße vom Typ Quantity.&lt;br /&gt;
&lt;br /&gt;
[[Quantity]] ist ebenfalls ein Analysemuster von Martin Fowler. Man verwendet dies, wenn es um Messbare Werte mit „Betrag“ und „Einheit“ geht.&lt;br /&gt;
&lt;br /&gt;
Ein weiteres Attribut von Person ist employer. Dies wurde über die [[Assoziation (UML)|Assoziation]] zum Objekt Company modelliert.&lt;br /&gt;
Die Implementierung zeigt Methoden zum Ändern und Abrufen der Informationen.&lt;br /&gt;
Hierbei kann es sich um gespeicherte oder berechnete Werte handeln.&lt;br /&gt;
In diesem Beispiel&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;public Date getDateOfBirth();&amp;lt;/code&amp;gt; = gespeicherter Wert&lt;br /&gt;
* &amp;lt;code&amp;gt;public int getAge();&amp;lt;/code&amp;gt; = berechneter Wert&lt;br /&gt;
&lt;br /&gt;
Es werden nur set-Methoden für Attribute angeboten, bei denen es gewünscht oder erforderlich ist.&lt;br /&gt;
Beispielsweise fehlt im Quelltextbeispiel oben eine Operation, um das Alter zu ändern.&lt;br /&gt;
Dies ist auch nicht notwendig, da es bequem über das Geburtsdatum berechnet werden kann und dadurch&lt;br /&gt;
reduziert sich die Anfälligkeit durch Fehleingaben.&lt;br /&gt;
&lt;br /&gt;
== Vor- und Nachteile ==&lt;br /&gt;
Vorteil:&lt;br /&gt;
Fixed Properties sind einfach zu implementieren, und es gibt definierte Schnittstellen, mit denen man auf die Attribute zugreifen kann.&lt;br /&gt;
&lt;br /&gt;
Nachteil:&lt;br /&gt;
Fixed Properties können nur in der Designphase definiert werden.&lt;br /&gt;
&lt;br /&gt;
== Sonstiges ==&lt;br /&gt;
In den meisten Anwendungsfällen mit wenig zu verwaltenden Attributen sind fixed Properties völlig ausreichend.&lt;br /&gt;
Steigt die Anzahl der Attribute stark an oder ändern sich diese oft (auch während der Laufzeit), so werden fixed Properties zunehmend unflexibel.&lt;br /&gt;
In diesen besonderen Anwendungsfällen bieten sich Muster wie [[Dynamic Property]] oder [[Flexible Dynamic Property]] von Martin Fowler an.&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* [https://www.martinfowler.com/ Martin Fowler]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Analysemuster]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Graph Pixel</name></author>
	</entry>
</feed>