4 C设计模式工厂方法模式.pptVIP

  1. 1、本文档共31页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 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

文档评论(0)

118books + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档