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

王朝java/jsp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

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

}

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航