一、概述
简单工厂模式(Simple Factory),又称静态工厂方法模式,是类的创建模式。简单工厂模式专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类
详细说明如下:
一个具体工厂通过条件语句创建多个产品,产品的创建逻辑集中与一个工厂类。
客户端通过传不同的参数给工厂,实现创建不同产品的目的
增加新产品时,需要修改工厂类、增加产品类,不符合OCP原则
二、具体代码
简单工厂模式(Simple Factory),又称静态工厂方法模式,是类的创建模式。简单工厂模式专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类
详细说明如下:
一个具体工厂通过条件语句创建多个产品,产品的创建逻辑集中与一个工厂类。
客户端通过传不同的参数给工厂,实现创建不同产品的目的
增加新产品时,需要修改工厂类、增加产品类,不符合OCP原则
二、具体代码
//生产产品的工厂类
public class ProductFactory{
public static Product generateProduct(int which){ //这个方法是static的
if (which==1)
return new ProductA();
else if (which==2)
return new ProductB();
}
}
//抽象产品
public interface Product {
.....
}
//具体产品A
public ProductA implement Product {
ProductA () {}
}
//具体产品B
public ProductB implement Product {
ProductB () {}
}
//调用工厂方法
public Client {
public method1() {
ProductFactory.generateProduct(1);
}
}
interface a{}
class b implements a{};
class c implements a{};
//工厂类
public class factory{
public static a createa(string name){
class cls=class.forname(name);
object obj=cls.getinstance();
return (a)obj;
}
}
//创建实例时
a b=factory.createa("b");
a c=factory.createa("c");