设计模式--创建模式--简单工厂模式--java
[java]/**
* 简单工厂 --- 静态工厂
* @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;
}
}
[java]
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.易做图factory.Product1");
Class.forName("com.mysql.jdbc.Driver");
}
}
简单工厂缺点
•简单工厂中的静态方法造成工厂不可能形成基于继承的等级结构。
•如果产品有复杂的等级结构,有多少抽象接口或者抽象类(抽象产品接口),就需要多少个静态方法。
•随着产品的增多,会造成简单工厂职能越来越多越来越复杂。
补充:软件开发 , Java ,