1.工厂模式
1.创建工厂基类,创建产品基类
2.创建指定产品工厂和指定产品
3.客户预定产品
4.每次新增产品时要对应增加指定产品工厂和指定产品类。符合开闭原则,就是建的类比较多。
//创建工厂基类
public interface PhoneFactory {
Phone createPhone();
}
//创建产品基类
public interface Phone {
void play();
}
//创建单一产品工厂
class HuaweiFactory implements PhoneFactory {
@Override
public Phone createPhone() {
return new HuaweiPhone();
}
}
//创建单一产品
class HuaweiPhone implements Phone {
@Override
public void play() {
Log.d(Contant.TAG,"this is huawei play");
}
}
//客户订购指定的产品
public void orderHuawei(){
HuaweiFactory huaweiFactory = new HuaweiFactory();
Phone phone = huaweiFactory.createPhone();
phone.play();
}
2.抽象工厂模式
创建工厂基类的时候拥有多种产品
public interface Factory {
IWatch createIWatch();
IPad createIPad();
}
总结:
1、工厂模式的一个工厂只有一种产品;抽象工厂生产多个产品;
2、在工厂模式的工厂中增加生产产品的能力其实就变成了抽象工厂;