1、分类:
a、简单工厂模式
b、工厂方法模式
c、抽象工厂模式
2、定义:
定义一个用于创建对象的接口,让子类决定实例化哪一个类。
3、例子:
/**
* 工厂接口
**/
public interface IFactory {
IProduct createProduct();
}
/**
* 工厂实现类
**/
public class Factory implements IFactory {
public IProduct createProduct() {
return new Product();
}
}
/**
*产品接口
**/
public interface IProduct {
void showProduct();
}
/**
*产品实现类
**/
public class Product implements IProduct {
public void showProduct() {
System.out.println("这是产品");
}
}
/**
* 调用
*/
public class Client {
public static void main(String[] args) {
IFactory factory = new Factory();
IProduct product = factory.createProduct();
product.showProduct();
}
}
4、优点:代码结构清晰,把变化封装起来