abstract class AbstractFactory { abstract public AbstractProductA createProductA(); abstract public AbstractProductB createProductB(); static AbstractFactory getFactory() { String s = "1"; // ← 環境によって値が変わる変数 if (s.equals("1")) { return new ConcreteFactory1(); } else if (s.equals("2")){ return new ConcreteFactory2(); } return null; } }