# Das richtige Entwurfsmuster



## Rubilak (27. Sep 2010)

Hallo, liebe Java-Entwickler

Ich suche ich Hilfe für die Verwendung von Entwurfsmustern für meine Bachelorarbeit.

Ich soll eine GUI basteln mit der es ermöglicht wird Farbhistogramme bzw. Look and Feels zwischen Bildern zu transferieren. Dazu werden Farbkonvertierung für die unterschiedlichsten Farbmodelle implementiert.

*Folgende Informationen sind vorhanden:*

Es werden unterschiedliche Transferalgorithmen eingesetzt.
Unterstützung unterschiedlicher Farbmodelle (L*a*b | RGB | XYZ usw.)

*Meine Überlegungen:*

Bei den *Transferealgorithmen *setze ich das *Strategiemuster *ein.
D.h. ich baue mir eine *abstrakte Transferklasse* und alle *Konkreten Transfereklassen* implementieren dieses Interface. Alle Klassen und Funktionen, die eine dieser Transferstrategien benutzen will, legt sich also ein Objekt vom Typ AbstractTransfere an und ruft den Konstruktor einer konkreten Strategie auf. Dies ermöglicht den einfachen Austausch und einfache Erweiterbarkeit im System.

Das *Strategiemuster* wollte ich nun auch für die *verschiedenen Farbmodelle* einsetzen.

Bsp: Ich habe eine Abstrakte Farbklasse: *AbstractColor*
und die Klassen *ColorLab *oder *ColorRGB *implementieren dieses Interface.
Dumm nur, dass die unterschiedlichen Farbmodelle unterschiediche Funktionen besitzen müssen, d.h. theoretisch wäre das Abstrakte Interface leer, d.h. wiederum, erstelle ich eine Objekt von genau diesem Typ, so würden auch keine Funktionen bereitstehen...
Man könnte in der jeweiligen Zielklasse von AbstractColor auf die gewünschte Klasse Casten, aber das ist ja nicht Sinn der Sache, denn dadaurch entehen wieder neue Abhängigkeiten, die die Wiederverwendung von Modulen einschränken.

Welches Muster kann ich mir hierfür speziell anschauen, weil ich bin etwas ratlos

Danke
Rubilak.


----------



## fastjack (28. Sep 2010)

Vermittler (Entwurfsmuster) ? Wikipedia

vielleicht?


----------



## KSG9|sebastian (30. Sep 2010)

Wenn die Software gut implementiert ist dann ergeben sich daraus schon "automatisch" die Patterns.
Fang nicht an wie ein verrückter nach Patterns zu suchen. Strukturier die Anwendung gut, schreibe sauberen, guten Code, dann siehst du sehr schnell an welchen Stellen eh schon Patterns vorhanden sind.


----------



## Rubilak (1. Okt 2010)

Das ist leichter gesagt als getan. 
Ich habe die Erfahrung gemacht, dass man sich schnell verfährt, wenn man einfach so los programmiert.

Ich habe es nun mit Hilfe der FabrikMethode gelöst.

Fabrikmethode ? Wikipedia


----------

