- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[工厂方法模式设计模式浅谈
工厂方法模式设计模式浅谈
工厂方法经常用在以下两种情况中:
第一种情况是对于某个产品,调用者清楚地知道应该使用哪个具体工厂服务,实例化该具体工厂,生产出具体的产品来。Java Collection中的iterator() 方法即属于这种情况。
第二种情况,只是需要一种产品,而不想知道也不需要知道究竟是哪个工厂为生产的,即最终选用哪个具体工厂的决定权在生产者一方,它们根据当前系统的情况来实例化一个具体的工厂返回给使用者,而这个决策过程这对于使用者来说是透明的。工厂方法模式(Factory Method)的意义是定义一个创建产品对象工厂接口,工作子类。核心工厂类不再,这样核心类成为一个抽象工厂角色,,这样是使得工厂方法模式可以使系统在不工厂角色的情况下引进新的产品工厂方法模式是的衍生,解决了许多简单工厂模式的问题。
工厂方法模式的对简单工厂模式进行了抽象。有一个抽象的,这个类将不再负责的产品生产,的生产工作由子类去完成。在模式中,工厂类和产品类可以对应。一个抽象工厂对应一个抽象产品,一个具体工厂对应一个具体产品工厂方法模式是最典型的模板方法模式应用。
工厂方法模式可以使系统在不工厂角色的情况下引进新的工厂方法模式和简单工厂模式在结构上的不同是很明显的。工厂方法模式的核心是一个抽象工厂类,而简单工厂模式把核心放在一个具体类上工厂方法模式可以允许很多具体工厂类从抽象工厂类中将创建行为继承下来,从而可以成为多个简单工厂模式的综合,进而推广了简工厂模式。工厂方法模式退化后可以变得很像简单工厂模式。
autocar作为抽象产品类,它可以是一个接口,也可以是一个抽象类,其中包含了所有产品都具有的业务方法yunxing()行驶;
(2)具体产品类BMWautocar(宝马汽车类)
BMWautocar是抽象产品autocar的接口子类,它是一种具体产品,实现了在autocar接口中定义的业务方法yunxing()行驶;
具体产品类Benzautocar(奔驰汽车类)
Benz autocar是抽象产品 autocar的另一个接口子类,与上一个相似。
抽象工厂类 autocarFactory(汽车工厂类)
autocarFactory是抽象工厂类,它可以是一个接口,也可以是一个抽象类,它包含了抽象的工厂方法product autocar,返回一个抽象产品 autocar类型的对象。
具体工厂类BMW autocarFactory(宝马汽车工厂类)
BMW autocarFactory是具体工厂类,它是抽象工厂类 autocarFactory的子类,实现了抽象工厂方法product autocar();在工厂方法中创建并返回一个对象的具体产品。
(6)
具体工厂类Benz autocarFactory(奔驰汽车工厂类)
辅助代码
总结与思考
工厂方法模式扩展
使用多个工厂方法
在抽象工厂角色中定义多个方法,让具体工厂角色实现这些不同的工厂方法。
产品对象的重复使用
调用产品类的构造函数创建一个新的产品实例,然后将这个实例提供给客户端
多态性的丧失和模式的退化
一个工厂模式方法的实现依赖于工厂角色和产品的多态性。
您可能关注的文档
- [尽职调查资料清单final.docx
- [尽调报告1.doc
- (中国教育简史复习题及参考答案.doc
- (中国教育学会十二五科研规划课题结题鉴定书.doc
- (中国教育简史形考参考答案.doc
- (中国教育简史第一次作业答案.doc
- [局办公室主任个人思想工作总结.doc
- (中国教育行政学试卷.doc
- [局域网组建、管理及维护实用教程.doc
- [局域网中代理服务器、路由器的配置方案.doc
- 2025中国冶金地质总局所属在京单位高校毕业生招聘23人笔试参考题库附带答案详解.doc
- 2025年01月中国人民大学文学院公开招聘1人笔试历年典型考题(历年真题考点)解题思路附带答案详解.doc
- 2024黑龙江省农业投资集团有限公司权属企业市场化选聘10人笔试参考题库附带答案详解.pdf
- 2025汇明光电秋招提前批开启笔试参考题库附带答案详解.pdf
- 2024中国能建葛洲坝集团审计部公开招聘1人笔试参考题库附带答案详解.pdf
- 2024吉林省水工局集团竞聘上岗7人笔试参考题库附带答案详解.pdf
- 2024首发(河北)物流有限公司公开招聘工作人员笔试参考题库附带答案详解.pdf
- 2023国家电投海南公司所属单位社会招聘笔试参考题库附带答案详解.pdf
- 2024湖南怀化会同县供水有限责任公司招聘9人笔试参考题库附带答案详解.pdf
- 2025上海烟草机械有限责任公司招聘22人笔试参考题库附带答案详解.pdf
最近下载
- [紧固件标准]JBZQ 4331-2006 六角开槽螺母.pdf VIP
- DMP3200系列保护测控装置使用说明书.pptx VIP
- 学会宽容-主题班会.ppt VIP
- SPC培训教材---完整版-PPT.ppt VIP
- 生物医药生物医药临床监查员岗面试真题题库参考答案和答题要点.docx VIP
- 群塔交叉作业防碰撞应急预案.pdf VIP
- 【地理】2021年高考真题——福建卷(含答案) .pdf VIP
- 化工过程安全管理五要点-陈毅峰-双语版.pdf VIP
- 【《白酒企业员工培训外包管理的案例分析—以迎驾贡酒为例》10000字】 .docx VIP
- YM-WI-SMT-065 A0 松下 NPM-D3 贴片机保养指导书.pdf VIP
文档评论(0)