工厂模式分类:
1)简单工厂模式(Simple Factory)
2)工厂方法模式(Factory Method)
3)抽象工厂模式(Abstract Factory)
这三种模式从上到下逐步抽象,并且更具一般性。
工厂方法模式和简单工厂模式在定义上的不同是很明显的。工厂方法模式的核心是一个抽象工厂类,而不像简单工厂模式, 把核心放在一个实类上。工厂方法模式可以允许很多实体工厂类从抽象工厂类继承下来, 从而可以在实际上成为多个简单工厂模式的综合,从而推广了简单工厂模式。
GOF在《设计模式》一书中将工厂模式分为两类:工厂方法模式(Factory Method)与抽象工厂模式(Abstract Factory)。将简单工厂模式(Simple Factory)看为工厂方法模式的一种特例,两者归为一类。
反过来讲
,简单工厂模式是由工厂方法模式退化而来。设想如果我们非常确定一个系统只需要一个实体工厂类, 那么就不妨把抽象工厂类合并到实体工厂类中去。而这样一来,就退化到简单工厂模式了。
抽象工厂模式是所有形态的工厂模式中最为抽象和最具广泛性的一种形态,抽象工厂模式是工厂方法模式的进一步扩广化和抽象化。
在抽象工厂模式中,抽象产品 (AbstractProduct) 可能是一个或多个,从而构成一个或多个产品族(Product Family)。 在只有一个产品族的情况下,抽象工厂模式实际上退化到工厂方法模式。
抽象工厂是把各种抽象零件组合成抽象产品,处理的重点是接口而不是零件的具体实现。
附件:
抽象工厂模式实例。
分享到:
相关推荐
设计模式是软件工程领域中一种通用的解决方案,它描述了在特定情况下解决常见问题的方法。《设计模式:可复用面向对象软件的基础》(Design Patterns: Elements of Reusable Object-Oriented Software),简称GOF,...
Photoshop调色教程:闲谈LAB模式计算调色详解 Photoshop调色教程:闲谈LAB模式计算调色详解是一篇详细的Photoshop调色教程,旨在帮助读者深入了解LAB模式计算调色的原理和应用。 LAB 模式的概念 LAB 模式是一种...
Photoshop调色教程中提到的“LAB模式”是一种与设备无关的颜色模型,它模拟了人眼对颜色的感知,包含了所有人类能看见的颜色。在LAB模式下,图像由一个明度通道和两个颜色通道(a通道和b通道)组成。明度通道负责...
面试中的闲谈技巧,好的闲谈是敲门砖
设计模式如工厂模式、单例模式、观察者模式等,能够提高代码的可扩展性和可维护性。 此外,随着云计算和大数据的兴起,【分布式程序设计】变得越来越重要。分布式系统需要处理数据的分布、容错、通信等问题,这涉及...
"JS调用XML的结合的闲谈"这个主题涵盖了JavaScript与XML的集成,以及它们在实际项目中的应用。这篇总结将深入探讨如何通过JavaScript操作XML文档,提取、修改和展示数据。 首先,XML(eXtensible Markup Language)...
SEM优化:品牌词管理闲谈(下).doc
### 闲谈嵌入式编程的复杂性 #### 嵌入式编程的入门与挑战 嵌入式编程是一项技术密集型的工作,它涉及到软件与硬件的紧密结合。文章提到,很多从事嵌入式编程的工程师往往是从自动化或电子等相关专业转型而来,这...
这个“Java基于Swing实现的简单聊天室,支持多人在线闲谈.zip”文件是一个示例项目,展示了如何利用Swing构建一个基本的多用户聊天应用。下面将详细阐述其涉及的关键知识点。 1. **Swing组件**:Swing提供了丰富的...
本文将基于“开发经验,PCB布板闲谈”的主题,详细介绍PCB设计中的关键知识点和技术细节。 #### 二、PCB设计基础 PCB设计是电子产品设计的重要组成部分,涉及到信号完整性、电源完整性、电磁兼容性(EMI)等多个方面...
在互联网世界中,Web图片服务器扮演着至关重要的角色。它们负责存储、管理和分发网站所需的图像资源,确保用户能够快速、高效地加载和查看图片。本文将深入探讨Web图片服务器的相关知识点,帮助你理解其工作原理、...
演讲稿:静坐常思己过,闲谈莫论人非_演讲稿.pdf
闲谈嵌入式编程的复杂性 嵌入式编程是一种复杂的编程技术,需要开发人员具备深入的编程知识和实践经验。文章通过两个实践例子,说明了嵌入式编程中的多个问题,并分析了解决这些问题的方法。 嵌入式编程的复杂性...
《春末闲谈》是鲁迅先生的一篇散文,收录在苏教版高中语文选修教材《现代散文选读》中。这篇文章通过闲谈的形式,深入浅出地探讨了统治者与被统治者之间的矛盾,以及封建统治者所采用的麻痹民众的手段。以下是该文的...
闲谈 我奇妙的Nuxt.js项目 构建设置 # install dependencies $ npm run install # serve with hot reload at localhost:3000 $ npm run dev # build for production and launch server $ npm run build $ npm run ...
4. 不迫切也不重要:如小事、家务、闲谈和娱乐,适度享受可放松心情,但过度则可能导致时间的浪费。 有效的时间管理能帮助管理者优先处理关键事务,平衡紧迫性和重要性,避免被琐事拖累,确保有足够的时间和精力...
根据提供的文件信息,内容看似是关于宏观经济指标GDP(国内生产总值)的讨论。为了生成相关知识点,以下内容将详细解释GDP的概念、计算方式、相关经济指标和分析方法。 GDP是衡量一个国家或地区在一定时期内生产...
【酒店管理合同谈判战术概述】 在酒店管理合同的谈判过程中,业主需要采取一系列策略和战术以确保自身利益的最大化。谈判并非单纯的讨价还价,而是基于信息收集、心态调整、目标设定和时间管理等多个层面的综合较量...
【标题】: 中国人的面子文化:从古至今的社会现象 【描述】: 面子,对于中国人来说,是一个深远而复杂的话题。它涉及到个人尊严、社会地位以及人际交往等多个方面,渗透在日常生活和历史事件中。...