03 C#设计模式 简单工厂模式讲解.ppt

  1. 1、本文档共30页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
www . ChinaSA . info D esign P atterns 简单工厂模式 刘 伟 (Sunny) weiliu_china@126.com www . ChinaSA . info 大纲 ? 创建型模式 ? 简单工厂模式概述 ? 简单工厂模式的结构与实现 ? 简单工厂模式的应用实例 ? 创建对象与使用对象 ? 简单工厂模式的简化 ? 简单工厂模式的优缺点与适用环境 www . ChinaSA . info 创建型模式 ? 创建型模式 (Creational Pattern) 关注对象的创建过 程 ? 创建型模式 对类的实例化过程进行了抽象 ,能够 将软 件模块中对象的创建和对象的使用分离 ,对用户 隐藏 了类的实例的创建细节 ? 创建型模式 描述如何将对象的创建和使用分离 ,让用 户在使用对象时无须关心对象的创建细节,从而降低 系统的耦合度,让设计方案更易于修改和扩展 www . ChinaSA . info 创建型模式 ? 创建型模式关注点 ? 创建什么 ( What ) ? 由谁创建 ( Who ) ? 何时创建 ( When ) 创 建 对 象 使 用 对 象 www . ChinaSA . info 创建型模式 ? 创建型模式一览表 模式名称 定 义 学习难度 使用频率 简单工厂模式 (Simple Factory Pattern) 定义一个工厂类,它可以根据参数 的不同返回不同类的实例,被创建 的实例通常都具有共同的父类。 ★★☆☆☆ ★★★☆☆ 工厂方法模式 (Factory Method Pattern) 定义一个用于创建对象的接口,但 是让子类决定将哪一个类实例化。 工厂方法模式让一个类的实例化延 迟到其子类。 ★★☆☆☆ ★★★★★ 抽象工厂模式 (Abstract Factory Pattern) 提供一个创建一系列相关或相互依 赖对象的接口,而无须指定它们具 体的类。 ★★★★☆ ★★★★★ 建造者模式 (Builder Pattern) 将一个复杂对象的构建与它的表示 分离,使得同样的构建过程可以创 建不同的表示。 ★★★★☆ ★★☆☆☆ 原型模式 (Prototype Pattern) 使用原型实例指定待创建对象的类 型,并且通过复制这个原型来创建 新的对象。 ★★★☆☆ ★★★☆☆ 单例模式 (Singleton Pattern) 确保一个类只有一个实例,并提供 一个全局访问点来访问这个唯一实 例。 ★☆☆☆☆ ★★★★☆ www . ChinaSA . info 简单工厂模式概述 简单工厂模式示意图 客户端 工厂 产品 参数 www . ChinaSA . info 简单工厂模式概述 ? 简单工厂模式基本实现流程 ? 具体产品类: 将需要创建的各种不同产品对象的相关代码封装到 具体产品类中 ? 抽象产品类: 将具体产品类公共的代码进行抽象和提取后封装在 一个抽象产品类中 ? 工厂类: 提供一个工厂类用于创建各种产品,在工厂类中提供一 个创建产品的工厂方法,该方法可以根据所传入参数的不同创建 不同的具体产品对象 ? 客户端: 只需调用工厂类的工厂方法并传入相应的参数即可得到 一个产品对象 if(arg.Equals(A)) { return new ConcreteProductA(); } else if(arg.Equals(B)) { return new ConcreteProductB(); } else { ...... } www . ChinaSA . info 简单工厂模式概述 ? 简单工厂模式的定义 ? 类创建型 模式 简单工厂模式 (Simple Factory Pattern) : 定义一个工厂类, 它可以 根据参数的不同返回不同类的实例 ,被创建的实例通 常都 具有共同的父类 。 www . ChinaSA . info 简单工厂模式概述 ? 简单工厂模式的定义 ? 在简单工厂模式中用于创建实例的方法通常是 静态 (static) 方法 ,因此又被称为 静态工厂方法 (Static Factory Method) 模式 ? 要点: 如果需要什么, 只需要传入一个正确的参数, 就可以获取所需要的对象 ,而 无须知道其创建细节 www . ChinaSA .

文档评论(0)

wangsux + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档