java如何实现抽象工厂模式Abstract Factory(java,开发技术)

时间:2024-04-28 10:10:22 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

    java%E5%A6%82%E4%BD%95%E5%AE%9E%E7%8E%B0%E6%8A%BD%E8%B1%A1%E5%B7%A5%E5%8E%82%E6%A8%A1%E5%BC%8FAbstract+Factory

在工厂类模式中,如果需要新的类时,需要修改工厂类,这样显然不利于扩展。在抽象工厂模式中,需要扩展一个类时,不需要修改之前的代码就可以实现。

[java]view plaincopy print?

/**

*CreatedbyAdministratoron2016/11/18.

*/

publicinterfaceWorker{

publicvoidwork();

}

[java]view plaincopy print?

publicinterfaceProvider{

publicWorkerproduce();

}

[java]view plaincopy print?

publicclassDoctorimplementsWorker{

@Override

publicvoidwork(){

System.out.println("医生开始上班了");

}

}

[java]view plaincopy print?

publicclassDoctorFactoryimplementsProvider{

@Override

publicWorkerproduce(){

returnnewDoctor();

}

}

[java]view plaincopy print?

publicclassStudentimplementsWorker{

@Override

publicvoidwork(){

System.out.println("学生开始上课了");

}

}

[java]view plaincopy print?

publicclassStudentFactoryimplementsProvider{

@Override

publicWorkerproduce(){

returnnewStudent();

}

}

[java]view plaincopy print?

publicclassTeacherimplementsWorker{

@Override

publicvoidwork(){

System.out.println("教师开始教学了");

}

}

[java]view plaincopy print?

publicclassTeacherFactoryimplementsProvider{

@Override

publicWorkerproduce(){

returnnewTeacher();

}

}

[java]view plaincopy print?

publicclassHeadmasterextendsTeacher{

publicvoidwork(){

System.out.println("校长开始上班了");

}

}

[java]view plaincopy print?

publicclassHeadmasterFactoryimplementsProvider{

@Override

publicWorkerproduce(){

returnnewHeadmaster();

}

}

[java]view plaincopy print?

publicclassTest{

publicstaticvoidmain(String[]args){

Providerproviders[]={newDoctorFactory(),newStudentFactory(),newTeacherFactory(),newHeadmasterFactory()};

for(Providerf:providers){

f.produce().work();

}

}

}


本文:java如何实现抽象工厂模式Abstract Factory的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:java如何实现对象工厂模式的注册机下一篇:

3 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18