具体的产品有具体的工厂类生产,这样当新增商品时,不需要修改原来的工厂类
主要有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