`
这些年
  • 浏览: 400413 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

zy19982004--设计模式学习五:工厂方法模式

 
阅读更多

一.概念

     定义了创建对象的接口,但有子类决定要实例化的类是哪一个。工厂方法把类实例化推迟到了子类(这个是GOF上的定义,总感觉定义的不好)。

 

二.实例分析

 

 

     CPU

Java代码  收藏代码
  1. package com.zzy.factoryMethod;  
  2. /** 
  3.  * CPU接口 
  4.  * @author eason 
  5.  * 
  6.  */  
  7. public interface CPU {  
  8.     public void work();  
  9. }  

 

     WDCPU/SamSungCPU/SeagateCPU类似,只贴出一个

Java代码  收藏代码
  1. package com.zzy.factoryMethod;  
  2. /** 
  3.  * 西数CPU 
  4.  * @author eason 
  5.  * 
  6.  */  
  7. public class WDCPU implements CPU{  
  8.   
  9.     @Override  
  10.     public void work() {  
  11.         System.out.println("西数CPU is working...");  
  12.     }  
  13.   
  14. }  

 

     WDCPUFactory/SamSungCPUFactory/SeagateCPUFactory类似,只贴出一个

Java代码  收藏代码
  1. package com.zzy.factoryMethod;  
  2. /** 
  3.  * 三星CPU工厂 
  4.  * @author eason 
  5.  * 
  6.  */  
  7. public class WDCPUFactory implements CPUFactory{  
  8.     public CPU createCPU() {  
  9.         return new WDCPU();  
  10.     }  
  11. }  

 

     TestFactoryMethod

Java代码  收藏代码
  1. package com.zzy.factoryMethod;  
  2. /** 
  3.  * 测试类 
  4.  * @author eason 
  5.  * 
  6.  */  
  7. public class TestFactoryMethod {  
  8.     public static void main(String[] args) {  
  9.         CPUFactory factory = new WDCPUFactory();  
  10.         CPU cpu = factory.createCPU();  
  11.         cpu.work();  
  12.     }  
  13. }  

 

三.工厂方法模式的产品等级与产品族

  1. 工厂模式:用来生产同一等级结构中的固定产品。
  2. 工厂方法是针对每一种产品提供一个工厂类。通过不同的工厂实例来创建不同的产品实例。

分享到:
评论

相关推荐

    ZY3-01星SC产品命名规范20160217.pdf

    综上所述,ZY3-01星SC产品的命名规则详细规定了卫星数据的结构化表示方法,通过这些规则,用户能够快速识别出数据的基本特征,如成像时间、产品级别、波段配置等关键信息,从而方便后续的数据管理和应用。

    ZY08-C循迹、红外避障、遥控综合程序代码

    ZY08-C的综合程序可能采用模块化设计,包括循迹模块、避障模块和遥控模块,每个模块独立运行且可以互相协作。主循环负责协调各个子系统的操作,确保它们在不同场景下无缝切换。此外,程序还可能包含故障诊断和恢复...

    6、ZY08-C循迹、红外避障、遥控综合程序.rar_51单片机 循迹避障 红外遥控_zy08-c_红外遥控小车

    这个名为"ZY08-C循迹、红外避障、遥控综合程序.rar"的压缩包包含了实现这些功能所需的所有软件资源,特别是对于51单片机这种广泛应用的微控制器而言,这样的设计展示了其在自动化和远程控制领域的潜力。 首先,让...

    RF-CZ-ZY-03 供应商入围及评估管理作业指引(1).zip

    《RF-CZ-ZY-03 供应商入围及评估管理作业指引》是针对企业在供应链管理中的一个重要环节——供应商选择与评估的规范性文档。在现代商业环境中,供应商管理是企业运营的关键部分,它直接影响到产品质量、成本控制和...

    ZY08-C循迹 寻黑线程序_keilc51_zy08-c智能循迹_黑线循迹程序_ZY08C智能循迹_

    总的来说,ZY08-C循迹寻黑线程序是一个集成了硬件感知、软件控制和智能算法的综合项目,它展示了单片机在自动化控制领域的应用,对于学习单片机编程、智能小车设计以及传感器应用的人来说,是一个很好的实践案例。

    RF-CB-ZY-03-F03 设计变更估算汇总表.zip

    "RF-CB-ZY-03-F03 设计变更估算汇总表"是一个可能用于记录和管理这些变更的重要文档,通常以电子表格的形式存在,如本例中的".xls"文件。下面我们将深入探讨这个主题,了解设计变更估算汇总表的关键组成部分和作用。...

    RF-CB-ZY-04 工程结算及复核作业指引.zip

    《RF-CB-ZY-04 工程结算及复核作业指引》是针对建筑工程行业中的一项重要流程,旨在规范工程项目的结算与复核工作,确保财务数据的准确性和工程项目的顺利完成。这一作业指引通常包含一系列详细的操作步骤、规定以及...

    RF-SJ-ZY-04-F17 住宅方案评审检查表-给排水.zip

    《住宅方案评审检查表-给排水》是针对住宅建设中给排水系统设计的重要评估工具,主要目的是确保住宅项目的给排水方案符合国家规范、行业标准以及项目自身的需求,从而保证居民的生活用水安全和环境质量。这份文档...

    9.ZY08-C智能小车配套例程代码.zip

    "9.ZY08-C智能小车配套例程代码.zip"是一个压缩包文件,包含了为这种特定型号智能小车设计的功能程序和相关的注释。这些代码是实现小车智能化运作的关键,通过分析和理解这些代码,我们可以深入学习智能小车的工作...

    RF-GC-ZY-08-F06 材料进场验收单(1).zip

    【RF-GC-ZY-08-F06 材料进场验收单】是建筑行业中一个重要的文档,主要用于记录和管理施工现场材料的接收和检验过程。这个文档通常由项目管理团队或质量控制部门填写,确保所有进场的建筑材料符合工程设计、质量和...

    RF-KF-ZY-02-F07 维修验收记录表(1).zip

    这个名为"RF-KF-ZY-02-F07 维修验收记录表(1).zip"的压缩包文件,显然包含了针对某一特定设备或系统维修后进行验收过程的详细记录。以下是关于维修验收记录表的一些关键知识点: 1. **维修验收的目的**:维修验收的...

    ZY08-C循迹加红外避障综合程序代码

    【ZY08-C循迹加红外避障综合程序代码】是一种专为智能小车设计的控制程序,旨在实现车辆能够自主沿着预设路径行驶,并在遇到障碍时采取避障策略。这种程序通常应用于机器人竞赛、自动清洁机器人或者教育领域的DIY...

    RF-YX-ZY-06 销售总结编写作业指引.zip

    "RF-YX-ZY-06 销售总结编写作业指引.zip"是一个压缩包文件,其中包含的"RF-YX-ZY-06 销售总结编写作业指引.doc"文档,很显然是一个指导如何有效编写销售总结的详细指南。以下将深入探讨销售总结的主要内容、重要性...

    RF-YX-ZY-05-F05 销售代理服务供方甄选评分表(1).zip

    "RF-YX-ZY-05-F05 销售代理服务供方甄选评分表(1).zip" 文件提供了一个评估和选择销售代理的标准化工具。以下是基于该文件名和描述可能涉及的相关知识点: 1. **评分表**:评分表是一种评估工具,用于量化和系统化...

    RF-KF-ZY-02-F03 工程保修协议书(1).zip

    "RF-KF-ZY-02-F03 工程保修协议书(1).zip" 是一个包含工程保修协议书的压缩文件,它可能涉及到建筑、软件开发或者系统集成等领域的工程项目。在这样的文件中,通常会规定承包商对工程的质量保证、保修期限、责任范围...

    RF-CB-ZY-01-F01 目标成本测算表.zip

    "RF-CB-ZY-01-F01 目标成本测算表"很可能是一个用于计算和规划产品或服务预期成本的电子表格工具,如Excel文件"RF-CB-ZY-01-F01 目标成本测算表.xls"所示。 首先,目标成本是指企业为了实现特定利润目标,计划产品...

    ZY1730语音芯片说明书

    ZY1730是一款专为在恶劣环境中稳定工作的语音芯片设计的产品。该芯片适用于多种应用场景,尤其是在公共交通领域如地铁、公交车等城市公共设施中表现优异。其设计考虑到了在复杂环境下的稳定性和可靠性,确保了即使在...

    RF-YX-ZY-07 顾客要求及设计工程变更管理工作指引(1).zip

    《RF-YX-ZY-07 顾客要求及设计工程变更管理工作指引》是针对产品开发过程中,如何有效地处理顾客需求和设计变更的一项重要文档。在IT行业中,尤其是软件开发和工程设计领域,理解和管理顾客需求以及应对设计变更至关...

    商业编程-源码-ZY music! v1.1.1.zip

    【ZY Music! v1.1.1 源码解析】 ZY Music! v1.1.1 是一个商业级别的音乐播放应用的源码版本,它提供了丰富的音乐播放功能,并且可能包含了一些针对商业环境优化的设计。这个源码是开发者学习和理解音乐应用开发的...

Global site tag (gtag.js) - Google Analytics