このような抽象ファクトリを実装しました
public abstract class AbstractFactory {
private static final Map FACTORIES = new HashMap();
AbstractFactory(FactoryType type) {
FACTORIES.put(type, this);
}
public abstract A getA();
public abstract B getB();
public static AbstractCatalogFactory getFactory(FactoryType type) {
return (AbstractCatalogFactory) FACTORIES.get(type);
}
}
具体的なファクトリは、この抽象ファクトリ コンストラクタを呼び出す必要があります。これにより、各具体的な実装がFACTORIES
マップに登録されます。コンストラクターの実行が戻るまで の値を未定義にする必要があるthis
ように見えるため、コンストラクター内での参照について少し心配しています。this
ありがとう、ドン