设计模式之简单工厂、工厂方法与抽象工厂
案例场景
某泡教育推出架构师培训课程,包括Java架构师、Python架构师培训。售卖课程内容包括视频、笔记、源码等。根据工厂方法等相关内容,实现售卖课程的程序设计。
要求程序运行结果如下:
简单工厂、工厂方法与抽象工厂定义与结构
案例-简单工厂设计与实现
copypublic interface ICourse {
/**
* 录制视频
* @return
*/
void record();
}
copypublic class JavaCourse implements ICourse {
public void record() {
System.out.println("录制Java课程");
}
}
copypublic class PythonCourse implements ICourse {
public void record() {
System.out.println("录制Python课程");
}
}
copypublic class CourseFactory {
public ICourse create(Class<? extends ICourse> clazz){
try {
if (null != clazz) {
return clazz.newInstance();
}
}catch (Exception e){
e.printStackTrace();
}
return null;
}
}
copypublic class SimpleFactoryTest {
public static void main(String[] args) {
CourseFactory factory = new CourseFactory();
ICourse course = factory.create(JavaCourse.class);
course.record();
}
}
案例-工厂方法设计与实现
案例-抽象方法设计与实现
工厂方法由于抽象工厂区别
工厂方法模式只有一个抽象产品类,而抽象工厂模式有多个。
工厂方法模式的具体工厂类只能创建一个具体产品类的实例,而抽象工厂模式可以创建多个。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步