1)使用目的:
这个系统中,有多于一个的产品族,而系统只消费其中某一产品族,使系统不依赖于实现。
2)起源:
不同操作系统的视窗构件
3)说明:
抽象工厂模式可以向客户端提供一个接口,使得客户端在不必指定产品的具体类型的情况下,创建多个产品族中的产品对象.
4)区别:
抽象工厂模式与工厂方法模式的最大区别在于,
工厂方法模式针对的是一个产品等级结构;
而抽象工厂模式则需要面对多个产品等级结构
总结:重点在于区分产品族和等级结构。
5)例子
汽车:奔驰,宝马,别克
计算机:dell,联想,thinkpad,mac
水果:热带水果,大棚水果
数据库的jdbc:oracle,mysql,sql server,db2
6)代码
接口
汽车工厂:CarFactory,包含下面的4个抽象部件
车身:Body
车灯:Light
发动机:Engine
轮胎:Wheel
实现类:
各种汽车工厂:BenzFactory,BmwFactory,HondaFactory,这3个工厂,分别要用后缀为1,2,3的部件来制造汽车。
车身:Body1,Body2,Body3
车灯:Light1,Light2,Light3
发动机:Engine1,Engine2,Engine3
轮胎:Wheel1,Wheel2,Wheel3
调用
CarFactory factory = new BenzFactory();//只需要此处工厂更换,下面的代码不需要改动
factory.body().name();
factory.wheel().name();
factory.engine().name();
factory.light().name();
7)总结
拿汽车工厂这个例子说,工厂方法,一个工厂,只能造一个系列产品。比如,他只能造轮子,包括轮子1,轮子2,轮子3,他不能造出“汽车”。抽象工厂呢,可以造出汽车,他只需要系列产品中的一个产品(产品族)。通过使用工厂的工厂,可以再用一个简单工厂模式,把汽车的3个工厂:宝马,奔驰,本田3个汽车工厂进行封装,达到系统完美性。有问题请大家留言,我会随时解答^-^
分享到:
相关推荐
抽象工厂模式是设计模式中的一种创建型模式,它提供了一种创建对象集合的接口,而无需指定具体的类。这种模式允许系统独立于如何创建、组合和表示产品对象的细节进行设计,为产品族(一组相关或相互依赖的对象)提供...
抽象工厂模式是软件设计模式中的一种,属于创建型模式,它的主要目的是提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。在实际应用中,当我们需要创建一组具有共同特性的对象,而这些对象分别...
抽象工厂模式是设计模式中的一种,尤其适用于创建一组相关或相互依赖的对象。这个实例Demo将向我们展示如何在iOS环境中应用抽象工厂模式。 抽象工厂模式的核心思想是提供一个接口,用于创建一系列相关或相互依赖的...
"C# Winform抽象工厂架构"是一个基于C#语言和Windows Forms(Winform)平台,利用抽象工厂设计模式构建的多层架构项目。在这个项目中,开发者使用了抽象工厂模式来创建和管理报表查询的相关组件,同时结合了反射机制...
抽象工厂模式是设计模式中的一种,它提供了一个创建一系列相关或相互依赖对象的接口,而无需指定它们的具体类。在软件工程中,当系统需要在运行时选择不同的产品族时,或者想要隔离具体产品的实现细节时,抽象工厂...
java设计模式 抽象工厂模式详解 一张图让你彻底明白抽象工厂模式
### 抽象工厂模式实验报告知识点解析 #### 实验背景及目标 本次实验报告来源于南京工程学院软件设计与体系结构课程。实验的核心在于理解和实践**抽象工厂模式**,这是一种常用的面向对象设计模式,旨在解决软件...
在软件设计模式中,"简单工厂"和"抽象工厂"是两种常见的创建型设计模式,它们主要用于对象的创建。这两种模式都是为了将对象的创建过程封装起来,使得客户端代码无需关心具体的实现细节,只需调用工厂提供的接口即可...
抽象工厂模式是一种设计模式,属于创建型模式,它提供了一种创建对象族的接口,而无需指定其具体的类。这种模式的关键在于“族”,它表示一系列相关或相互依赖的对象。在不指定具体类的情况下,抽象工厂模式使得...
工厂模式分为三种主要类型:简单工厂模式、工厂方法模式和抽象工厂模式。 1. **简单工厂模式** 简单工厂模式是最简单的工厂模式实现,它提供一个静态方法或者类来创建对象,这个类通常被称为“工厂”。用户只需要...
设计模式 - 抽象工厂模式 抽象工厂模式是一种创建型设计模式,它提供了一种方式来创建一组相关或相互依赖的对象,而不需要指定具体的类。该模式允许客户端使用抽象的接口来创建一组相关的产品,而不需要关系实际...
本篇文章将对三种主要的工厂模式:简单工厂、工厂方法和抽象工厂进行深入的对比和总结。 **简单工厂模式** 是最基础的工厂模式形式,它提供一个静态方法或类来创建对象。在这个模式中,工厂是负责创建对象的中心...
在这个“.NET开发三层版抽象工厂小案例”中,我们将探讨如何运用抽象工厂模式来实现各层之间的交互。 抽象工厂模式是一种创建型设计模式,它提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们的具体类。...
在软件设计模式中,工厂模式是一组非常基础且实用的设计模式,主要分为简单工厂模式、工厂方法模式和抽象工厂模式。这些模式都是为了解决对象创建的问题,通过封装对象的创建过程,使得代码更加灵活,易于扩展和维护...
工厂方法模式和抽象工厂模式是两种常见的设计模式,它们都属于创建型模式,用于解决对象的创建问题。在软件设计中,这两种模式都是用来隔离对象的创建和使用,以提高系统的灵活性和可扩展性。 首先,工厂方法模式的...
抽象工厂模式是设计模式中的一种,它属于创建型模式,主要解决的是当系统有多个产品族,而每个产品族又有多个具体产品时,如何组织代码的问题。在Java中,抽象工厂模式提供了一种创建对象组的方式,使得这些对象属于...
抽象工厂模式是设计模式中的一种创建型模式,它提供了一个创建对象族的接口,而无需指定它们的具体类。在.NET开发中,这种模式常用于实现多数据库连接,比如连接到MySQL、SQL Server或Oracle等不同的数据库系统。...
抽象工厂模式是软件工程中常用的一种创建型设计模式,它的核心思想是为创建一组相关或相互依赖的对象提供一个接口,而不需要指定它们具体的类。在Java中,抽象工厂模式被广泛应用,它有助于整合代码,提高系统的可...
在给定的标题和描述中,主要涉及了两种设计模式:三层架构(Three-Tier Architecture)和抽象工厂模式(Abstract Factory Pattern),以及C#中的反射(Reflection)技术。下面将详细阐述这三个知识点。 首先,**三...
抽象工厂模式是设计模式中的一种,属于创建型模式,它提供了一种创建对象族的接口,而无需指定其具体的类。这种模式的关键在于"抽象工厂",它是一个接口或者抽象类,定义了创建一系列相关或相互依赖对象的接口,而...