Fabrik Methode, gutes Beispiel?

metalfan

Aktives Mitglied
Hi,

das hier ist meiner Meinung nach ein gutes Beispiel für das Muster "Fabrik Methode"
Seht ihr das auch so, oder was würdet ihr ändern?

Quelle: Factory Pattern

48.gif


Bin gerade etwas verwirrt ob Fabrik Methode dem englischen "Factory Method" entspricht oder nicht.
Einerseits sagt der Artikel: Factory method pattern - Wikipedia, the free encyclopedia das nicht jede Fabrik Methode diesem Muster enspricht aber andererseits steht auf: Fabrikmethode das UML Diagramm vom "Fabric Method Pattern" für die Beschreibung der Fabrik Methode.

Ist es denn nun das gleiche oder nicht?


Ist in diesem Beispiel die "factory method" createGetränk?


#Produkt
Java:
public abstract class Getraenk {
   
  public abstract String getName();
  
  public abstract double getKalorien();
  
  public abstract double getAlkoholgehalt();
}




#Konkretes Produkt
Java:
public class Limonade extends Getraenk{
  private String name;
  private double kalorien;
  
  public Limonade(String name, double kalorien){
    this.name = name;
    this.kalorien = kalorien;
  }
  
  public double getAlkoholgehalt(){
    return 0;
  }

  public double getKalorien(){
    return kalorien;
  }

  public String getName(){
    return name;
  }
}



#Abstrakter Erzeuger
Java:
public abstract class AbstractGetraenkeAutomat {
  
  public abstract Getraenk createGetraenk(int gConstant);
}




#Konkreter Erzeuger
Java:
public class GetraenkeAutomat extends AbstractGetraenkeAutomat{
  public final static int WEIN = 1;
  public final static int LIMONADE = 2;
  
  public Getraenk createGetraenk(int gConstant){
    switch(gConstant) {
      case WEIN: return new Wein("Merlot",70,13);
      case LIMONADE: return new Limonade(Orangenlimonade",50);
      default: return null;
    }    
  }
}
 

Zurück
Oben