- 1、本文档共31页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
4C设计模式工厂方法模式ppt课件
END www.ChinaSA.info www.ChinaSA.info Design Patterns 工厂方法模式 刘 伟 (Sunny) weiliu_china@126.com 大纲 工厂方法模式概述 工厂方法模式的结构与实现 工厂方法模式的应用实例 配置文件与反射 工厂方法的重载 工厂方法的隐藏 工厂方法模式的优缺点与适用环境 工厂方法模式概述 使用简单工厂模式设计的按钮工厂 工厂方法模式概述 使用工厂方法模式改进后的按钮工厂 工厂方法模式概述 分析 工厂方法模式: 不再提供一个按钮工厂类来统一负责所有产品的创建,而是将具体按钮的创建过程交给专门的工厂子类去完成 如果出现新的按钮类型,只需要为这种新类型的按钮定义一个具体的工厂类就可以创建该新按钮的实例 工厂方法模式概述 工厂方法模式的定义 类创建型模式 工厂方法模式:定义一个用于创建对象的接口,但是让子类决定将哪一个类实例化。工厂方法模式让一个类的实例化延迟到其子类。 Factory Method Pattern: Define an interface for creating an object, but let subclasses decide which class to instantiate. Factory Method lets a class defer instantiation to subclasses. 工厂方法模式概述 工厂方法模式的定义 简称为工厂模式(Factory Pattern) 又可称作虚拟构造器模式(Virtual Constructor Pattern)或多态工厂模式(Polymorphic Factory Pattern) 工厂父类负责定义创建产品对象的公共接口,而工厂子类则负责生成具体的产品对象 目的是将产品类的实例化操作延迟到工厂子类中完成,即通过工厂子类来确定究竟应该实例化哪一个具体产品类 工厂方法模式的结构与实现 工厂方法模式的结构 工厂方法模式的结构与实现 工厂方法模式的结构 工厂方法模式包含以下4个角色: Product(抽象产品) ConcreteProduct(具体产品) Factory(抽象工厂) ConcreteFactory(具体工厂) 工厂方法模式的结构与实现 工厂方法模式的实现 典型的抽象工厂类代码: interface Factory { Product FactoryMethod(); } 工厂方法模式的结构与实现 工厂方法模式的实现 典型的具体工厂类代码: class ConcreteFactory : Factory { public Product FactoryMethod() { return new ConcreteProduct(); } } 工厂方法模式的结构与实现 工厂方法模式的实现 典型的客户端代码片段: …… Factory factory; factory = new ConcreteFactory(); //可通过配置文件实现 Product product; product = factory.FactoryMethod(); …… 工厂方法模式的应用实例 实例说明 某系统运行日志记录器(Logger)可以通过多种途径保存系统的运行日志,例如通过文件记录或数据库记录,用户可以通过修改配置文件灵活地更换日志记录方式。在设计各类日志记录器时,开发人员发现需要对日志记录器进行一些初始化工作,初始化参数的设置过程较为复杂,而且某些参数的设置有严格的先后次序,否则可能会发生记录失败。 为了更好地封装记录器的初始化过程并保证多种记录器切换的灵活性,现使用工厂方法模式设计该系统。(注:在.NET平台下常用的日志记录工具有Log4net、NLog等,.NET Framework也提供了一些用于记录日志的类,例如Debug、Trace、TraceSource等。) 工厂方法模式的应用实例 实例类图 日志记录器结构图 工厂方法模式的应用实例 实例代码 (1) Logger:日志记录器接口,充当抽象产品角色 (2) DatabaseLogger:数据库日志记录器,充当具体产品角色 (3) FileLogger:文件日志记录器,充当具体产品角色 (4) LoggerFactory:日志记录器工厂接口,充当抽象工厂角色 (5) DatabaseLoggerFactory:数据库日志记录器工厂类,充当具体工厂角色 (6) FileLoggerFactory:文件日志记录器工厂类,充当具体工厂角色 (7) Program:客户端测试类 演示…… 参考代码 (DesignPattern\FactoryMethodS
您可能关注的文档
- 3、疫苗和注射器管理.ppt
- 3交流电动机.ppt
- 3保险合同(上).ppt
- 3从社保切入商业保险(22年2月第五版).ppt
- 3保险合同(下).ppt
- 3光调制.ppt
- 3六节脏象论violet.ppt
- 3公理化定义.ppt
- 3关系营销.ppt
- 3、百日咳监测.ppt
- 人教A版高中数学必修一1.1 集合的概念专练(含解析)(80) .pdf
- 人教版九年级美术上册《线材造型》教案2篇 .pdf
- 人教版初中生物七年级上册第一单元生物和生物圈知识点总结归纳.pdf
- 人教版七年级生物上册 第二单元第一章《细胞是生命活动的基本单位》测.pdf
- 人教版八年级物理上册第一章声现象教案 .pdf
- 仓储管理员练习题库(附参考答案) .pdf
- 人教版八年级上册数学第14章 整式的乘法与因式分解 单元测试卷 3套(W.pdf
- 人教A版2019必修第一册 高一数学 4 .pdf
- 人教版八年级物理下册第九章压强第4节流体压强与流速的关系.pdf
- 以感恩为主题的演讲稿800字5篇 .pdf
最近下载
- “双减”政策下初中数学分层作业设计的实践与探究 .pdf
- 《My family photo》(教学设计)-2024-2025学年冀教版(2024)初中英语七年级上册.docx VIP
- 国开电大《创业教育(创业教育专)》形考1-3及综合答案.pdf VIP
- ISO 10009-2024 质量管理——质量工具及其应用指南(中文版-雷泽佳译2024-07).docx VIP
- 人教版初中英语八年级上册 Unit 7 大单元作业设计案例 .pdf
- 美国国父——华盛顿课件.ppt
- 渔父文化内涵.doc VIP
- 2025年合肥市轨道交通集团有限公司校园招聘934人笔试备考题库及答案解析.docx
- 腰椎穿刺术教师赛教案.docx
- 产后大出血的抢救.pptx VIP
文档评论(0)