下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
工厂方法定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。工厂方法让类把实例化推迟到子类。一情景超类定义了算法的骨架,把算法中变化的部分委托给不同的类的实例(这些类继承自一个公共的接口),如果用NEW直接实例化。设计就会缺乏弹性,不方便以后的维护。一个替代方案就是传递实例化类名字做为参数,同时用大量的IF,ELSE语句判断该实例化哪个类。但是以后增加新的实例化类时就必须修改这段代码。二解决方案1面向接口编程(第一个替代方案)。超类中不应该用具体的类,而是用接口代替。2封装创建对象的代码。把变动的部分分离出去。生成一个工厂类,以为创建对象的工作委托工厂实现。(简单工厂)3把变化的部分定义为一个接口,在子类实现超类的接口,实例化就推迟到子类实现。(工厂方法,工厂方法是模板模式的特殊情况,特殊指的是抽象方法用于创建对象,而不是算法。),子类创建对象可以使用简单工厂。三UML图图3.1简单工厂CreatorCreatorFactoryProductSubProduct1SubProduct2SubProduct3继承依赖斜体表示抽象类Product也可以是接口简单工厂是通过组合和委托实现的,把创建对象的工作委托给工厂实现。看上去只是把创建对象的代码换到另一个地点,问题依然存在。以后增加新的产品丢需要修改源代码,没有对修改关闭,对扩展打开。但是简单工厂可以有许多客户,以后别的地方可能也会用到它;其次,创建对象的代码包装进一个类,以后实现改变时,只需修改
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 极端天气事件下的心理健康教育体系构建
- 小学生人际自信说课稿2025
- 小学心理教育2025年说课稿社交技能
- 安徽省芜湖市无为市2025-2026学年八年级下学期期中质量检测物理试题(含答案)
- 2026年江西省九江市修水县九年级中考一模化学试卷(含解析)
- 医学26年:食管测压结果解读 查房课件
- 胸外科患者安全管理
- 肠镜检查的术后并发症的早期识别
- 26年检测规培考核要点梳理
- 上海工程技术大学《安全原理》2025-2026学年第一学期期末试卷(A卷)
- 招聘会管理工作制度
- GB/T 47223-2026绿色产品评价无机肥料
- 2026年过期药品处理培训
- 第10课养成遵纪守法好习惯第二框(课件)-【中职专用】2025-2026学年中职思政《职业道德与法治》(高教版2023·基础模块)
- 酒店消防安全考核制度
- 《公有云技术与应用》课件-项目六:容器化与云原生应用
- 电商仓储安全监管规范
- 鲜花介绍课件
- 光模块在军事通信中的关键应用-洞察及研究
- 重症肺炎患者的综合治疗与呼吸功能恢复效果的临床研究毕业论文答辩汇报
- 遂宁市2025年下半年市直机关公开遴选(考调)公务员和2025年度公开选调公务员(公共基础知识)综合能力测试题带答案解析
评论
0/150
提交评论