- 8
- 0
- 约4.85千字
- 约 30页
- 2016-12-05 发布于浙江
- 举报
www.ChinaSA.info www.ChinaSA.info Design Patterns 简单工厂模式 刘 伟 (Sunny) weiliu_china@126.com 大纲 创建型模式 简单工厂模式概述 简单工厂模式的结构与实现 简单工厂模式的应用实例 创建对象与使用对象 简单工厂模式的简化 简单工厂模式的优缺点与适用环境 创建型模式 创建型模式(Creational Pattern)关注对象的创建过程 创建型模式对类的实例化过程进行了抽象,能够将软件模块中对象的创建和对象的使用分离,对用户隐藏了类的实例的创建细节 创建型模式描述如何将对象的创建和使用分离,让用户在使用对象时无须关心对象的创建细节,从而降低系统的耦合度,让设计方案更易于修改和扩展 创建型模式 创建型模式关注点 创建什么(What) 由谁创建(Who) 何时创建(When) 创建对象 使用对象 创建型模式 创建型模式一览表 模式名称 定 义 学习难度 使用频率 简单工厂模式 (Simple Factory Pattern) 定义一个工厂类,它可以根据参数的不同返回不同类的实例,被创建的实例通常都具有共同的父类。 ★★☆☆☆ ★★★☆☆ 工厂方法模式 (Factory Method Pattern) 定义一个用于创建对象的接口,但是让子类决定将哪一个类实例化。工厂方法模式让一个类的实例化延迟到其子类。 ★★☆☆☆ ★★★★★ 抽象工厂模式 (Abstract Factory Pattern) 提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们具体的类。 ★★★★☆ ★★★★★ 建造者模式 (Builder Pattern) 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 ★★★★☆ ★★☆☆☆ 原型模式 (Prototype Pattern) 使用原型实例指定待创建对象的类型,并且通过复制这个原型来创建新的对象。 ★★★☆☆ ★★★☆☆ 单例模式 (Singleton Pattern) 确保一个类只有一个实例,并提供一个全局访问点来访问这个唯一实例。 ★☆☆☆☆ ★★★★☆ 简单工厂模式概述 简单工厂模式示意图 客户端 工厂 产品 参数 简单工厂模式概述 简单工厂模式基本实现流程 具体产品类:将需要创建的各种不同产品对象的相关代码封装到具体产品类中 抽象产品类:将具体产品类公共的代码进行抽象和提取后封装在一个抽象产品类中 工厂类:提供一个工厂类用于创建各种产品,在工厂类中提供一个创建产品的工厂方法,该方法可以根据所传入参数的不同创建不同的具体产品对象 客户端:只需调用工厂类的工厂方法并传入相应的参数即可得到一个产品对象 简单工厂模式概述 简单工厂模式定义 类创建型模式 简单工厂模式 (Simple Factory Pattern):定义一个工厂类,它可以根据参数的不同返回不同类的实例,被创建的实例通常都具有共同的父类。 简单工厂模式概述 简单工厂模式定义 在简单工厂模式中用于创建实例的方法通常是静态(static)方法,因此又被称为静态工厂方法(Static Factory Method)模式 要点:如果需要什么,只需要传入一个正确的参数,就可以获取所需要的对象,而无须知道其创建细节 简单工厂模式的结构与实现 简单工厂模式结构 简单工厂模式的结构与实现 简单工厂模式结构 简单工厂模式包含如下3个角色: Factory(工厂角色) Product(抽象产品角色) ConcreteProduct(具体产品角色) 简单工厂模式的结构与实现 简单工厂模式实现 典型的抽象产品类代码: abstract class Product { //所有产品类的公共业务方法 public void MethodSame() { //公共方法的实现 } //声明抽象业务方法 public abstract void MethodDiff(); } 简单工厂模式的结构与实现 简单工厂模式实现 典型的具体产品类代码: class ConcreteProductA : Product { //实现业务方法 public override void MethodDiff() { //业务方法的实现 } } 简单工厂模式的结构与实现 简单工厂模式实现 典型的工厂类代码: class Factory { //静态工厂方法 public static Product GetProduct(string arg) { Product product = null; if (arg.Equals(A))
您可能关注的文档
- 2 理论分布和抽样分布幻灯片.ppt
- 2 采样系统复习_傅里叶级数与傅里叶变换幻灯片.ppt
- 2 计算机控制系统的信号幻灯片.ppt
- 2.1 离散时间信号—序列幻灯片.ppt
- 2.1.3超几何分布幻灯片.ppt
- 2.1-2.3关系模型三要素幻灯片.ppt
- 2.2.1曲线的参数方程幻灯片.ppt
- 2.2.3椭圆的参数方程幻灯片.ppt
- 2.3 直线的参数方程 课件(人教A选修4-4)幻灯片.ppt
- 2.4系统消息幻灯片.ppt
- 小区绿化施工协议书.docx
- 墙面施工协议书.docx
- 1 古诗二首(课件)--2025-2026学年统编版语文二年级下册.pptx
- (2026春新版)部编版八年级道德与法治下册《3.1《公民基本权利》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《4.3《依法履行义务》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.2《按劳分配为主体、多种分配方式并存》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.1《公有制为主体、多种所有制经济共同发展》PPT课件.pptx
- 初三教学管理交流发言稿.docx
- 小学生课外阅读总结.docx
- 餐饮门店夜经济运营的社会责任报告(夜间贡献)撰写流程试题库及答案.doc
原创力文档

文档评论(0)