是一种为访问类提供一个创建一组相关或相互依赖对象的接口,且访问类无须指定所要产品的具体类就能得到同族的不同等级的产品的模式结构。
敲黑板,画重点:

总结起来:
抽象工厂模式的UML图如下:
创建两个抽象产品类
public interface TV {
void play();
}
public interface AirConditioner {
void heat();
}
创建具体产品类
public class HaierTV implements TV{
@Override
public void play() {
System.out.println("海尔电视机,销量全国领先");
}
}
public class TCLTV implements TV{
@Override
public void play() {
System.out.println("TCL牌电视机,家家都在看的电视机");
}
}
public class HaierAirConditioner implements AirConditioner{
@Override
public void heat() {
System.out.println("海尔牌空调,制热效果好,省电又省心~");
}
}
public class TCLAirConditioner implements AirConditioner {
@Override
public void heat() {
System.out.println("TCL牌空调,制热效果杠杠的");
}
}
创建抽象工厂类
public interface AbstractFactory {
TV getTV();
AirConditioner getAirConditioner();
}
创建具体工厂类
public class HaierFactory implements AbstractFactory{
@Override
public TV getTV() {
return new HaierTV();
}
@Override
public AirConditioner getAirConditioner() {
return new HaierAirConditioner();
}
}
public class TCLFactory implements AbstractFactory{
@Override
public TV getTV() {
return new TCLTV();
}
@Override
public AirConditioner getAirConditioner() {
return new TCLAirConditioner();
}
}
适用场景:
开闭原则的倾斜性
简单工厂模式
工厂方法模式
抽象工厂模式
本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注的更多内容!