Java设计模式之抽象工厂模式怎么实现
1.介绍当系统准备为用户提供一系列相关对象,又不想让用户代码和这些对象形成耦合时,就可以使用抽象工厂模式。2.如何实现1)抽象产品--Car2)具体产品--BYDCar、TSLCar3)抽象工厂Factory4)具体工厂--BYDFactory、TSLFactory3.代码实现/***抽象产品*/publicabstractclassCar{publicabstractStringgetName();}/***具体产品*/publicclassBYDCarextendsCar{Stringname;pub
1.介绍
当系统准备为用户提供一系列相关对象,又不想让用户代码和这些对象形成耦合时,就可以使用抽象工厂模式。
2.如何实现
1)抽象产品--Car
2)具体产品--BYDCar、TSLCar
3)抽象工厂Factory
4)具体工厂--BYDFactory、TSLFactory
3.代码实现
/**
* 抽象产品
*/
public abstract class Car {
public abstract String getName();
}/**
* 具体产品
*/
public class BYDCar extends Car {
String name;
public BYDCar(String name){
this.name = name;
}
@Override
public String getName() {
return name;
}
}/**
* 抽象工厂
*/
public abstract class CarFactoty {
public abstract Car createCar(String name);
} /**
* 具体工厂
*/
public class BYDFactory extends CarFactoty {
@Override
public BYDCar createCar(String name) {
return new BYDCar(name);
}
}4.总结
1)抽象工厂模式可以为用户创建一系列相关的对象,是用户和这些类的对象解耦
2)使用抽象工厂模式可以方便的为用户配置一些列对象。
3)在抽象工厂模式中,可以随时增加“具体工厂”为用户提供一组相关的对象。
如:是上面的例子中,如果用户需要一特斯拉车,创建一个特斯拉对象和特斯拉工厂就能完成。
/**
* 具体产品
*/
public class TSLCar extends Car {
String name;
public TSLCar(String name){
this.name = name;
}
@Override
public String getName() {
return name;
}
}/**
* 具体工厂
*/
public class TSLFactory extends CarFactoty {
@Override
public TSLCar createCar(String name) {
return new TSLCar(name);
}
}
Windows 10 是一款微软推出的经典操作系统,拥有硬件兼容性与多任务处理能力。它更偏向把系统状态查看和常用调节动作放在一起,适合需要持续观察和微调设备状态的场景。
极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。
















