关于创建工厂的问题

关于创建工厂的问题

视频中新建一个不同硬度的果墙的时候,使用一个NewWallFactory,为什么原来的WallFactory中的createPlant方法中的参数中加一个Shell对象

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

这个案例中一个工厂是创建一种类型的植物,例如硬度为5的果墙,以后如果其他类中需要使用这个特性的果墙即硬度为5的果墙,就可以通过这个特性的工厂方法来创建对象;

工厂模式的好处就是:假设我们用到了很多个硬度为5的果墙,不使用工厂模式,就需要在每个使用到硬度为5的果墙的类中创建这个对象,当不想用硬度为5的果墙了,想着使用硬度为10的果墙,修改的时候就需要修改很多个地方,如果使用工厂模式就需要修改工厂方法中的特性就可以了;此时就体现出工厂模式的优点来了。

同学可以在着重理解一下使用工厂模式的目的~

祝学习愉快!

好帮手慕阿莹 2018-07-31 14:17:36

"为什么原来的WallFactory中的createPlant方法中的参数中加一个Shell对象"不是很清楚同学的问题,同学是不知道Shell为什么被设置进去么?老师在视频2-6中为Wall设置了Shell属性,同学可以去看一下。建议同学跟着老师的视频一步一步的来。

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

  • 提问者 KAGITO #1
    我意思是,是不是改进的工厂模式一个工厂只能创建一种植物,拿视频中的wall来说就是,WallFactory只能创建硬度为10的,如果要创建其他的硬度的话,视频中用了NewWallFactory, 所以想问是不是不能把WallFactroy的createPlant方法改成构造器的效果,从然使得一个WallFactory能够创建多种硬度的Wall
    2018-07-31 15:32:36
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
Java数据库开发与实战应用2018版
  • 参与学习           人
  • 提交作业       277    份
  • 解答问题       4297    个

Java数据库开发的必备技能,从流行的MySQL数据库开始,到Java原生的数据库管理接口JDBC的使用,再到常用的数据持久化框架MyBatis,让你向Java工程师的目标又迈进了一步!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师