具体的产品有具体的工厂类生产,这样当新增商品时,不需要修改原来的工厂类
主要有4个角色
抽象工厂
具体工厂
抽象产品
具体产品
1. 定义抽象产品,本文以生产手机为例
/**
* @desc 抽象产品
**/
public interface Phone {
}
2. 定义具体产品-Apple
/**
* @desc 具体产品-Apple
**/
public class ApplePhone implements Phone {
}
3. 定义具体产品Xiaomi
/**
* @desc 具体产品-小米手机
**/
public class XiaomiPhone implements Phone {
}
4. 定义抽象工厂
/**
* @desc 抽象工厂
**/
public interface PhoneAbstractFactory {
Phone createPhone();
}
5. 定义具体工厂-Apple