工厂模式其实是java开发中最常用的模式之一,我们在获取数据库连接的时候,经常使用工厂模式;
  1、结构图:
   2、目的:
  定义一个用于创建对象的接口,让接口子类通过工厂方法决定实例化哪一个类; 3、适用性: a) 当一个类希望由它的子类来指定它所创建的对象的时候; b) 当一个类不知道自己将创建什么样的对象类的时候(有多种对象类可以选择); c) 当类将创建对象的职责委托给多个帮助子类中的某一个,并且你希望将哪一个帮助子类是代理者这一信息局部化的时候; 4、java实现:
  工厂类(Factory.java): public class Factory {     public Window CreateWindow (String type) {       Class cls = null;       Window win = null;       try{         cls = Class.forName(type);         win =(Window)cls.newInstance();       }catch(Exception ex)       {         ex.printStackTrace();       }       return win;     } 
    public static void main(String[] args) {         Factory myFactory = new Factory();         Window myBigWindow = myFactory.CreateWindow("WindowBig");         myBigWindow.func(); 
        Window mySmallWindow = myFactory.CreateWindow("WindowSmall");         mySmallWindow.func();     } } ---------------- window接口(Window.java) public abstract class Window {     public abstract void func(); } ---------------- 两个子类中的第一个WindowBig.java: public class WindowBig extends Window {     public void func() {         System.out.println("This is Big Window !");     } } 两个子类中的第二个WindowSmall.java: public class WindowSmall extends Window {     public void func() {         System.out.println("This is Small Window !");     } }
   
 
  |