1

我正在尝试创建抽象工厂模式的一些变体。
工厂应该允许像插件一样插入具体工厂的新实现。

例如

public class AbstractFactory  
{  
  //some code here  
  public static void addNewImpl(String implName, /*class path or something else*/)  
  {  
    //dynamic class validity check  
    //save class somehow (db I guess)  
  }  

  public static getImpl(String name)
  {
    //is impl available  
    //return if valid  
  }  
}  

我不确定我是否正确地解决了这个问题,或者我是否应该重新考虑我的设计。

4

1 回答 1

2

我会这样继续:

  • 让你的代码编译:-)
  • 您需要定义一个构建目标对象的工厂接口
  • 由于您的类通常在应用程序启动时加载,因此您的 DelegateFactory(您称之为 AbstractFactory)在启动时从类路径读取属性文件就足够了。
  • 对于属性文件中的每个条目,使用键作为 lokup,类名作为条目的值。
  • 坐下来
于 2012-12-09T18:08:51.157 回答