中易网

java 工厂设计模式有什么好处 回到最好能通俗一点

答案:2  悬赏:10  
解决时间 2021-03-24 16:07
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接口来调用 从我的代码来看 不是更加简单么
最佳答案
如果用工厂模式,你只需要修改工厂代码。其他地方引用工厂,可以做到只修改一个地方,其他代码都不动,就是解耦了,也就是降低了代码的耦合性
全部回答
虽然我很聪明,但这么说真的难到我了
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
观赏蔬菜有那些
想生女孩有啥科学方法吗? 怎样才能有女儿
国内的UPS不间断电源品牌有哪些?
腿太粗了怎么办啊,上身很正常,从臀部到小腿
手机能玩mugen版的拳皇吗
跪求《我的男友是条狼》全文+番外TXT
学校发的一张资助卡,我没有激活。但是已经把
哪里购买一级建造师法规陈印课件
已知产生酒精的量,如何计算无氧呼吸消耗葡萄
呼市土中好不好?
嗟砣光阴的诗词,描述时光流逝的诗词
产检做胎监的时候,胎心曾经掉下70多,不一会
请教一下物业公司保安员及清洁工的工资都结转
湖州长兴镇打车起步价多少?从长兴火车站打车
两孔鞋带怎么穿
推荐资讯
我的QQ软件一打开就会变白屏 换了好几个版本
全国有多少rong城,哪个rong字不限!
怎么看音箱的参数?
从云南昆明到广西北海有多远?
大家所说的冬菇头是什么
有一个黑小伙他拉着骆驼
广恩铝材好不好做阳台窗是用多后的材料是不是
贵州省贵阳市申通快递至遵义市路线图
自己买脱毛器能脱干净吗
炉石传说游学者周卓怎么样 游学者周卓分析攻
高中立体几何中,已经找到两两垂直的角,但是
《双世宠妃》百度云链接
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?