设计模式整理(二) 之 工厂模式

类别:Java 点击:0 评论:0 推荐:

工厂模式其实是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 !");
    }
}

本文地址:http://com.8s8s.com/it/it11665.htm