`

第五章 工厂方法模式

 
阅读更多

1。工厂方法模式(别名:虚拟构造)
  定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method使一个类的实例化延迟到其子类。

2.概述

当系统准备为用户提供某个类的子类的实例,又不想让用户代码和该子类形成耦合时,就可以使用工厂方法模式来设计系统。工厂方法模式的关键是在一个接口或抽象类中定义一个抽象方法,该方法返回某个类的子类的实例,该抽象类或接口让其子类或实现该接口的类通过重写这个抽象方法返回某个子类的实例。

3.工厂方法模式-结构

模式的结构中包括四种角色:

  • 抽象产品(Product)
  • 具体产品(ConcreteProduct)
  • 构造者(Creator)
  • 具体构造者(ConcreteCreator)



 4.工厂方法模式-场景描述

假设有三个笔芯,分别是红笔芯、蓝笔芯和黑笔芯。用户希望通过圆珠笔来明确笔芯的颜色。

5.工厂方法模式-场景分析



 6.工厂方法模式-优点

  • 使用工厂方法可以让用户的代码和某个特定类的子类的代码解耦
  • 工厂方法使用户不必知道它所使用的对象是怎样被创建的,只需知道该对象有哪些方法即可。
  • 大小: 57.6 KB
  • 大小: 46.5 KB
分享到:
评论

相关推荐

    第5章_工厂方法模式.ppt

    在简单工厂模式中,所有的产品都是由同一个工厂创建,工厂类职责较重,业务逻辑较为复杂,具体产品与工厂类之间的耦合度高,严重影响了系统的灵活性和扩展性,而工厂方法模式则可以很好地解决这一问题。

    刘伟1..25章设计模式大集合

    01_第1章_统一建模语言基础知识.ppt 第11章_桥接模式.ppt 第12章_组合模式.ppt 第15章_享元模式.ppt ...第5章_工厂方法模式.ppt 第6章_抽象工厂模式.ppt 第7章_建造者模式.ppt 第8章_原型模式.ppt 第9章_单例模式.ppt

    设计模式课程每章ppt(共27章).zip

    └── 设计模式 ├── 01_第1章_统一建模语言基础知识.ppt ├── 第10章_适配器模式.ppt ...├── 第5章_工厂方法模式.ppt ├── 第6章_抽象工厂模式.ppt ├── 第7章_建造者模式.ppt ├── 第8章_原型模式.ppt

    Java与模式(清晰书签版) 设计模式 part3

    第5章 专题 JAVA语言的接口 第6章 专题 抽象类 第7章 里氏代换原则 第8章 依赖倒转原则 第9章 接口隔离原则 第10章 合成、聚合复用原则 第11章 迪米特法则 第12章 简单工厂模式 第13章 工厂方法模式 第14章 抽象工厂...

    java设计模式(电子书)

    第5章工厂方法模式(FACTORY METHOD PATTERN):定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。 第6章抽象工厂模式(ABSTRACT FACTORY PATTERN):提供一个创建一...

    C#设计模式 C# Design Patterns:A Tutorial

    第5章 继承 · · · · · · (更多) 第一部分 C#面向对象程序设计 第1章 设计模式概述 第2章 C#语言的语法 第3章 用C#编写Windows程序 第4章 在C#中使用类和对象 第5章 继承 第6章 UML图 第7章 C#中的数组、文件...

    24种java设计模式介绍与6大设计原则

    #### 第5章 工厂方法模式(Factory Method Pattern) 工厂方法模式是一种创建型设计模式,它提供了一种创建对象的最佳方式。 ##### 描述 工厂方法模式通过定义一个创建对象的接口,但让子类决定实例化哪一个类。...

    Java与模式.清晰.rar

    第5章 专题:Java语言的接口 第6章 专题:抽象类 第7章 里氏代换原则 第8章 依赖倒转原则 第9章 接口隔离原则 第10章 合成/聚合复用原则 第11章 迪米特法则 第三部分 第12章 简单工厂模式 第13章 工厂方法模式 第14...

    研磨设计模式(完整带书签).part2.pdf

    第5章 单例模式(Singleton) 第6章 工厂方法模式(Factory Method) 第7章 抽象工厂模式(Abstract Factory) 第8章 生成器模式(Builder) 第9章 原型模式(Prototype) 第10章 中介者模式(Mediator) 第11...

    java设计模式

    第5章 迪米特法则 5.1 迪米特法则的定义 5.2 我的知识你知道得越少越好 5.3 最佳实践 第6章 开闭原则 6.1 开闭原则的定义 6.2 开闭原则的庐山真面目 6.3 为什么要采用开闭原则 6.4 如何使用开闭原则 6.5 最佳实践 第...

    《设计模式实训教程》【PPT+类图与代码+样章】

    目录 第1章UML类图实训 1.1知识讲解 1.1.1UML概述 1.1.2类与类的UML表示 1.1.3类之间的关系 ...3.1.3简单工厂模式 ...3.1.4工厂方法模式 ...A.5第5章实训练习参考答案 A.6第6章实训练习参考答案 参考文献

    设计模式常用设计模式介绍抽象工厂、生成器、工厂方法

    第1章 引言 1 1.1 什么是设计模式 2 1.2 Smalltalk MVC中的设计模式 3 1.3 描述设计模式 4 1.4 设计模式的编目 5 1.5 组织编目 7 1.6 设计模式怎样解决设计问题 8 1.6.1 寻找合适的对象 8 1.6.2 决定对象的粒度 9 ...

    研磨设计模式(完整带书签).part1.pdf

    第5章 单例模式(Singleton) 第6章 工厂方法模式(Factory Method) 第7章 抽象工厂模式(Abstract Factory) 第8章 生成器模式(Builder) 第9章 原型模式(Prototype) 第10章 中介者模式(Mediator) 第11...

    [Java设计模式(第2版)(Design.Patterns.in.Java).John.Metsker

    第5章 合成(composite)模式 39 第6章 桥接(bridge)模式 52 第7章 职责型模式介绍 62 第8章 单例(singleton)模式 67 第9章 观察者(observer)模式 72 第10章 调停者(mediator)模式 85 第11章 代理(proxy)模式 97 第12...

    php设计模式介绍

    《PHP设计模式介绍》第三章 工厂模式 《PHP设计模式介绍》第四章 单条模式 《PHP设计模式介绍》第五章 注册模式 《PHP设计模式介绍》第六章 伪对象模式 《PHP设计模式介绍》第七章 策略模式 《PHP设计模式介绍...

    第四章:Spring AOP API 设计模式1

    1. **抽象工厂模式(Abstract Factory)**:Spring AOP框架中的`AopProxyFactory`接口代表抽象工厂,如`DefaultAopProxyFactory`是其实现,负责创建代理对象。抽象工厂模式确保了客户端无需关注具体对象的创建细节,...

Global site tag (gtag.js) - Google Analytics