public class TestFactoryMethod {
public static void main(String[] args) {
IWorkFactory i= new StudentWorkFactory();
i.getWork().doWork();
IWorkFactory j= new TeacherWorkFactory();
j.getWork().doWork();
}
}
interface IWorkFactory{
Work getWork();
}
class StudentWorkFactory implements IWorkFactory{
@Override
public Work getWork() {
return new StudentWork();
}
}
class TeacherWorkFactory implements IWorkFactory{
@Override
public Work getWork() {
return new TeacherWork();
}
}
interface Work{
void doWork();
}
class StudentWork implements Work{
@Override
public void doWork() {
System.out.println("写作业");
}
}
class TeacherWork implements Work{
@Override
public void doWork() {
System.out.println("改作业");
}
}
//上面的是工厂设计模式 下面我来写我自己的
public class TestFactoryMethod {
public static void main(String[] args) {
// IWorkFactory i= new StudentWorkFactory();
// i.getWork().doWork();
//
// IWorkFactory j= new TeacherWorkFactory();
// j.getWork().doWork();
Work i = new StudentWork();
i.doWork();
Work j = new TeacherWork();
j.doWork();
}
}
//interface IWorkFactory{
// Work getWork();
//}
//class StudentWorkFactory implements IWorkFactory{
//
// @Override
// public Work getWork() {
// return new StudentWork();
// }
//
//}
//class TeacherWorkFactory implements IWorkFactory{
//
// @Override
// public Work getWork() {
// return new TeacherWork();
// }
//
//}
interface Work{
void doWork();
}
class StudentWork implements Work{
@Override
public void doWork() {
System.out.println("写作业");
}
}
class TeacherWork implements Work{
@Override
public void doWork() {
System.out.println("改作业");
}
}
//我觉得完全没有必要多加一个IWorkFactory接口来调用 从我的代码来看 不是更加简单么
java 工厂设计模式有什么好处 回到最好能通俗一点
答案:2 悬赏:10
解决时间 2021-03-24 16:07
- 提问者网友:我稀罕你
- 2021-03-23 17:17
最佳答案
- 二级知识专家网友:一个很哇塞的汉子
- 2021-03-23 18:17
如果用工厂模式,你只需要修改工厂代码。其他地方引用工厂,可以做到只修改一个地方,其他代码都不动,就是解耦了,也就是降低了代码的耦合性
全部回答
- 1楼网友:情战凌云蔡小葵
- 2021-03-23 18:42
虽然我很聪明,但这么说真的难到我了
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯