Diskussion:Fabrikmethode

message: * Seit der änderung am 22. Okt. 2006 scheint vor dem UML Diagramm ohne ersichtlichen grund ein "1)" zu stehen, macht das irgendwie sinn? --213.164.89.130 10:04, 12. Okt. 2007 (CEST)
replies: text:  Guck mal aufs Datum. Das ist wohl längst überholt...  -- Der Hâkawâti ✉ 18:29, 26. Aug. 2009 (CEST)
thread_title:  UML-Diagramm 

message: Wozu ist diese eineOperation() von Erzeuger gut? Wer benutzt sie?
:Das ist eine totale Fehlbezeichnung. Die eineOperation() sollte liefereNeuesObjekt() heißen, denn sie ist diejenige, die tatsächlich angestossen wird, um ein neues konkretes Objekt zu bauen. Sie ruft selbst die Fabrikmethode auf (die in der konkreten Klasse entsprechend implementiert ist). Wenn mir jemand einen Tipp gibt, mit welchem (freien) Malprogramm man am schnellsten diese Bildchen malt (Umbrello?), dann ändere ich das. --Wikiplex 16:20, 26. Aug. 2009 (CEST)
replies: text: Zusatz: Das steht eineOperation(), weil im GoF-Buch im Bildchen für die abstrakte Struktur die Bezeichnung AnOperation() steht. :-) --Wikiplex 19:11, 26. Aug. 2009 (CEST)
replies: text:  eineOperation() ist schon richtig. liefereNeuesObjekt() würde ja bedeuten, dass die Methode das Obejkt zurückliefert. Das tut sie aber - im Allgemeinen - nicht. Sie verwendet nur die Fabrikmethode um das erzeugte Objekt intern irgendwie zu nutzen. Man weiß über die Mthode nichts, außer, dass die die Fabrikmethode nutzt, deshalb ist die allgemeien Bezeichnung "eineMethode" richtig. -- Der Hâkawâti ✉ 20:55, 27. Aug. 2009 (CEST)
thread_title: Verständnisfrage zum UML-Diagramm

message: Warum werden Factories überhaupt noch genutzt?
:Die Frage impliziert die Aussage, dass sie früher einen Sinn hatten, jetzt aber nicht mehr. Das ist falsch. Schau dir mal das C++-Beispiel im Artikel an. Der Sinn des Musters ist die Verwendung in einem Framework, in dem Objekte kreiert werden müssen, deren Typ der Erschaffer des Frameworks zu seinem Kodierzeitpunkt noch nicht kennen kann. (Er kann ja nicht alle möglichen Verwendungen erahnen. Im Beispiel: Er weiß nicht, welche Arten von Restaurants und Mahlzeiten jemals ersonnen werden werden.) --Wikiplex 10:43, 27. Aug. 2009 (CEST)
thread_title: Sinn fehlt

message: Der Artikel enthält ein Bild, dem eine Bildbeschreibung fehlt, überprüfe bitte, ob es sinnvoll ist, diese zu ergänzen. Gerade für blinde Benutzer ist diese Information sehr wichtig. Wenn du dich auskennst, dann statte bitte das Bild mit einer aussagekräftigen Bildbeschreibung aus. Suche dazu nach der Textstelle  und ergänze sie.
:Wenn du eine fehlende Bildbeschreibung ergänzen willst, kannst du im Zuge der Bearbeitung folgende Punkte prüfen:
:* Namensraum Datei: Bilder sollte im Namensraum Datei liegen. Bitte ändere die alten Bezeichnungen Bild: und Image: in Datei:.
:* Skalierung: Außerhalb von Infoboxen sollten keine festen Bildbreiten (zum Beispiel 100px) verwendet werden. Für den Fließtext im Artikelnamensraum gibt es Thumbnails in Verbindung mit der automatischen Skalierung. Um ein Bild/eine Grafik in besonderen Fällen dennoch größer oder kleiner darzustellen, kann der „upright“-Parameter verwendet werden. Damit erfolgt eine prozentuale Skalierung, die sich an den Benutzereinstellungen orientiert. --SpBot 22:21, 1. Mär. 2009 (CET)
thread_title: Bildbeschreibung fehlt bei ''<nowiki>[[Bild:Fabrikmethode.png]]</nowiki>'' 

message: Den würde ich gerne rausnehmen (da es nicht mehr sagt als der Fließtext und außerdem keine konkreten Produkte beinhaltet) und stattdessen das UML-Diagramm vergrößert (d.h. nicht als Thumbnail) nach vorne ziehen. Jemand was dagegen? --Wikiplex 17:25, 2. Sep. 2009 (CEST)
replies: text: Fänd ich gut. --Der Hâkawâti ✉ 23:09, 2. Sep. 2009 (CEST)
thread_title:  Java-Code in Abschnitt "Begriffsbedeutung" rausnehmen 

message: Das Beispiel hat einen Haken: Beide Methoden Color.createFromRGB() und Color.createFromHSV() haben drei Parameter (RGB bzw. HSV). Die RGB-Werte sind alle ganzzahlig. Da der S-Wert in Color.createFromHSV() zwischen 0 und 1 liegt und somit als Fließkommazahl übergeben werden muss, würde es in Sprachen wie C++, Java und C# ausreichen, einen Konstruktor zu überladen. Da käme man also um die Fabrikmethoden rum.
Ein besseres Beispiel ist das Erzeugen einer komplexen Zahl, einmal aus Real- und Imaginärteil, einmal aus Polarkoordinaten (Winkel und Betrag). Was denkt ihr? Vorschläge zur Bennenung der Methoden? --Wikiplex 17:38, 8. Sep. 2009 (CEST)
replies: text: RGB und HSB kann man jeweils als drei Floats übergeben. Von daher hat man wieder die Notwendigkeit. Das ist auch nicht ganz an den Haaren herbeigezogen, weil es IIRC in OpenGL genau so gemacht wird. Gegen das Beispiel mit den Komplexen Zahlen hab ich aber auch nix. Außer natürlich, dass createFromRealAndImaginary ein scheußlich langer Bezeichner ist. Aber lieber lang als schlecht lesbar. BTW: createFromHSV() stimmt so nicht ganz. Auch, wenn das Lemma HSV heißt, so ist HSV mehrdeutig, da das HSB und HSL bezeichnen kann. --Der Hâkawâti ✉ 20:00, 8. Sep. 2009 (CEST)
replies: text: Ich verstehe nicht, warum HSV mehrdeutig ist. HSV-Farbraum definiert HSV doch eindeutig und gibt einen Umrechnungsalgorithmus HSV <-> RGB an. Hmmm, in dem Algorithmus sind RGB auch aus [0,1]. Dann ist der ganze Diskussionspunkt wohl hinfällig und das Beispiel hat keinen Haken. (Ich kannte RGB in allen Aufrufen halt nur als Integer aus [0,255].) Von HSB habe ich übrigens vor dem Lesen des HSV-Artikels noch nie was gehört; ich denke schon, dass HSV der bekanntere Begriff ist. --Wikiplex 12:26, 9. Sep. 2009 (CEST)
replies: text:  *nochmal liest* OK hast Recht. Ich hatte irgendwie herausgelsen, dass HSV ein Überbegriff für HSB und HSL wäre. War aber Blödsinn... --Der Hâkawâti ✉ 13:04, 9. Sep. 2009 (CEST)
thread_title:  Vorteile: Complex.createFromRealAndImaginary() ist besser