您的位置:首页 > 编程语言 > Java开发

设计模式--创建模式--简单工厂模式--java

2013-01-15 15:15 585 查看
/**
* 简单工厂 --- 静态工厂
* @author changsheng
*
*/
public class Factory {
static public Product getProduct(){
return new Product();
}
/**
* 提供相应参数,然后由静态工厂方法来创建所需的产品既对象。
*/
static public Product getProduct(int type){
Product p = null ;
switch(type){
case 1:
p = new Product1();
break;
case 2:
p = new Product2();
break;
case 3:
p = new Product3();
break;
default :
throw new InvalidateProductType("没有可用产品类型!");
}
return p;
}
}


public class Example {

@SuppressWarnings("unused")
public static void main(String[] args) throws ClassNotFoundException {

String numStr = "123";
int numInt = Integer.valueOf(numStr);

/**
* Integer.valueOf 简单工厂方法
* numInt 产品角色
* numStr 简单工厂参数
*/

Object obj = Class.forName("designpatterns.simplefactory.Product1");

Class.forName("com.mysql.jdbc.Driver");

}

}


在什么情况下使用简单工厂模式呢?

1、产品个数确定,譬如高速公路上的交通工具,近几十年也只可能是货车和客车。

2、产品个数较少。

简单工厂缺点

•简单工厂中的静态方法造成工厂不可能形成基于继承的等级结构。
•如果产品有复杂的等级结构,有多少抽象接口或者抽象类(抽象产品接口),就需要多少个静态方法。
•随着产品的增多,会造成简单工厂职能越来越多越来越复杂。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: