简单列一下这个模式的家族:
1、静态工厂模式
public RoujiaMo creatRoujiaMo(String type) {
RoujiaMo roujiaMo = null;
switch (type) {
case "Suan":
roujiaMo = new ZSuanRoujiaMo();
break;
case "La":
roujiaMo = new ZLaRoujiaMo();
break;
case "Tian":
roujiaMo = new ZTianRoujiaMo();
break;
default:// 默认为酸肉夹馍
roujiaMo = new ZSuanRoujiaMo();
break;
}
return roujiaMo;
}
3、工厂方法模式(开分店)
提供创建肉夹馍店抽象方法:RoujiaMoStore.java
public abstract RoujiaMo sellRoujiaMo(String type);
分店依旧使用简单工厂模式:XianSimpleRoujiaMoFactory.java
4、抽象工厂模式(使用官方提供的原料)
/**
* 准备工作
*/
public void prepare(RoujiaMoYLFactory roujiaMoYLFactory) {
Meet meet = roujiaMoYLFactory.creatMeet();
YuanLiao yuanLiao = roujiaMoYLFactory.creatYuanLiao();
Log.e("---RoujiaMo:", "使用官方的原料 ---" + name + ": 揉面-剁肉-完成准备工作 yuanLiao:"+meet+"yuanLiao:"+yuanLiao);
}
原文:https://www.cnblogs.com/xiaohua7988/p/11616558.html