Zurück   Flashforum > Flash > ActionScript > Softwarearchitektur und Entwurfsmuster

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 14-06-2009, 11:34   #1 (permalink)
Waffe==Verstand
 
Benutzerbild von p-flash
 
Registriert seit: Jul 2004
Ort: Düsseldorf
Beiträge: 724
Parameterisierte Factory Method

Hi,

kennt jemand eine Lösung dafür das Factory Pattern mit parameterisierter Methode zu verwenden? Z.B.

Code:
// Class Object1
public Object1 (String param1, int param2) {...}

// Class Object2
public Object2 (Boolean param1) {...}
Das Factory Pattern ist jetzt nicht mehr anwendbar, weil die Konstruktoren der Objekte verschiedene Parameter verlangen. Ein createObject (objectType : String) tut es nicht mehr.

Schonmal danke...
p-flash ist offline   Mit Zitat antworten
Alt 15-06-2009, 07:59   #2 (permalink)
Neuer User
 
Registriert seit: Feb 2004
Ort: Dresden
Beiträge: 105
Du nutzt eine Fabrikmethode, um später die konkrete Klasse unabhängig
vom Rest der Anwendung austauschen zu können.

Wenn du variable Konstruktorargumente zulässt, verletzt du die Unhabhängigkeit
von der Implementierung, und dein Pattern wird sinnlos. 2 Ideen habe ich dennoch:

1. Für jeden Konstruktortyp eine eigene Fabrikmethode.

2. Konfigurierbare Factory

Code:
  1. var myFactory : ButtonFactory = new ButtonFactory();
  2.  
  3. myFactory.buttonTemplate = function() : IButton {
  4.     var button : IButton = new Button1("Toggle", false);
  5.     return Button;
  6. }
  7.  
  8. oder
  9.  
  10. myFactory.buttonTemplate = function() : IButton {
  11.     var button : IButton = new Button2("Click");
  12.     return Button;
  13. }
  14.  
  15. var myButton : IButton = myFactory.createButton();

Und in der Factory:

Code:
  1. private var _buttonTemplate : Function;
  2.  
  3. public function createButton() : IButton {
  4.     return _buttonTemplate();
  5. }
kakenbok ist offline   Mit Zitat antworten
Alt 28-06-2009, 12:48   #3 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Bremen
Beiträge: 13.278
Implementiere neben der Factory auch ein Konfigurationsobject, dass den qualifizierten Klassennamen und entsprechende Parameter für die Erzeugung in sich trägt.
Omega Psi ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 00:16 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2014 Marc Thiele