意思就是它可以根据不同的参数产生不同的对象实例,
当你的程序在同一处会根据情况调用不同的class时,用factory比较合适。
可以参考xml parser中JAXP的实例。

解决方案 »

  1.   

    完全同意楼上的观点,我补充一个情况:
    如果你只想提供一个接口的实例而没有(无需)给出具体实现实例的类。就是说使用者只能得到一个实现了某个接口的实例,却找不到(也无需知道)具体是那个类,这个实例完全是根据上下文或配置来通过factory来构建的。
    做法是定义一个借口,factory根据上下文或通过参数或通过成员变量或通过配置文件生成一个实现了这个借口的内部无名类的实例返回给调用者。
    这样做得实现了更好的封装,更安全,更易于使用,更智能化。调用者不会因为错误的调用具体类的方法而出bug。
      

  2.   

    to xiaolie() 我有点看不懂你的意思(太笨了)
    能举个例子说一下吗?