Conversion Ratio (Analysemuster)

Conversion Ratio (Analysemuster)

Conversion Ratio (deutsch: Umwandlungsverhältnis) ist ein Analysemuster aus der Softwaretechnik und dient zur Modellierung von Umwandlungsverhältnissen zwischen messbaren Werten und ihren Einheiten im Analysemodell. Das Analysemuster wurde von Martin Fowler in seinem Buch Analysemuster [Vgl. Fowler (1997), S. 38-39] beschrieben.

Inhaltsverzeichnis

Problem

Eine Programmiersprache kennt weder Einheiten noch ihre Umwandlungsverhältnisse. Conversion Ratio beschreibt, wie Umwandlungsverhältnisse zwischen Einheiten im Analysemodell berücksichtigt werden können. Damit ist die Software in der Lage, die konkreten Werte in Abhängigkeit ihrer Einheiten umzurechnen.

Kontext

Conversion Ratio baut auf dem Analysemuster Quantity [Vgl. Fowler (1997), S. 36-38] auf. Quantity beschreibt, wie messbare Werte und ihre Einheiten in das Analysemodell integriert werden können. Conversion Ratio erweitert dieses Muster um die Funktionalität der Umwandlung zwischen verschiedenen Einheiten.

Lösung

Zur Lösung des Problems wird Quantity durch Aufnahme der Umwandlungsverhältnisse zwischen Einheiten ergänzt.

Bild:ConversionRation.jpg

Durch Einarbeitung von Conversion Ratio kennt jede Einheit (englisch: Unit) eine Menge von Umwandlungsverhältnissen (englisch: ConversionRatio) und kann diese bei einer durchzuführenden Umwandlung abfragen und verwenden.

Der folgende Java-Quelltext zeigt die Methode zur Umsetzung der Umwandlungsfunktionalität:

public Quantity convertTo(Unit toUnit) {
 double ratio = this.unit.getConversionRatio(toUnit);
 double convertedValue = this.value * ratio;
 return new Quantity(toUnit, convertedValue);
}

Kräfte

Stärken

  • Conversion Ratio zentralisiert die Umwandlungsverhältnisse aller Einheiten in Objekte vom Typ ConversionRatio und vereinfacht somit die Erweiterung und Wartung.
  • Durch Kombination mehrerer Umwandlungsverhältnisse kann die Menge von ConversionRatio-Objekten deutlich eingegrenzt werden. Z.B. ist es möglich, direkt von den Maßeinheiten Meter zu Millimeter umzurechnen. Dazu werden die Umwandlungsverhältnisse Meter zu Zentimeter, definiert mit 100, und Zentimeter zu Millimeter, definiert mit 10, miteinander kombiniert.

Schwächen

  • Es ist nicht möglich alle Umwandlungen mit einem festen Umwandlungsverhältnis und damit einer einfachen Multiplikation durchzuführen, wie es z.B. bei der komplexeren Umwandlung zwischen den Einheiten Celsius nach Fahrenheit der Fall ist. Hier ist eine Erweiterung von Conversion Ratio durch das Analysemuster Individual Instance Method (deutsch: individuelle Instanzmethode) notwendig [Vgl. Fowler (1997), S. 106-111].
  • Schwierigkeiten ergeben sich auch, wenn zeitabhängige Umwandlungsverhältnisse (z.B. bei Währungen) abgebildet werden sollen. Dazu könnte Conversion Ratio durch Attribute erweitert werden, welche die Zeit der Anwendbarkeit angeben. Alternativ beschreibt Martin Fowler dafür das Analysemuster Scenario (deutsch: Szenario) [Vgl. Fowler (1997), S. 188-196].

Siehe auch

  • Analysemuster, Übersicht Analysemuster
  • Quantity, Analysemuster zur Erweiterung von messbaren Werten um ihre Einheiten

Literatur

  • Martin Fowler: Analysis Patterns - Reusable Object Models, Addison Wesley, 1997 ISBN 0-201-89542-0

Weblinks


Wikimedia Foundation.

Игры ⚽ Нужно решить контрольную?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Conversion Ratio — (deutsch: Umwandlungsverhältnis) ist ein Analysemuster aus der Softwaretechnik und dient zur Modellierung von Umwandlungsverhältnissen zwischen messbaren Werten und ihren Einheiten im Analysemodell. Das Analysemuster wurde von Martin Fowler in… …   Deutsch Wikipedia

  • Analysemuster — (engl. analysis pattern) beschreiben praktisch bewährte und wiederverwendbare Vorlagen zur Problemlösung in einer Anwendungsdomäne. Sie bilden komplexe Zusammenhänge aus der Praxis modellhaft nach und verwenden die Sprache des Domänenexperten.… …   Deutsch Wikipedia

  • Observation (Analysemuster) — Observation (engl. für Beobachtung) ist ein Analysemuster aus der Softwaretechnik zur Modellierung von qualitativen Eigenschaften für ein Objekt. Das Muster wurde von Martin Fowler in einem Projekt des National Health Service zur Modellierung des …   Deutsch Wikipedia

  • Measurement (Analysemuster) — Measurement (engl. für Messung) ist ein Analysemuster aus der Softwaretechnik zur Modellierung von quantitativen Messungen für ein Objekt. Das Muster wurde von Martin Fowler in einem Projekt des National Health Service zur Modellierung des… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”