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个汽车工厂进行封装,达到系统完美性。有问题请大家留言,我会随时解答^-^
分享到:
相关推荐
java设计模式 抽象工厂模式详解 一张图让你彻底明白抽象工厂模式
IOS 设计模式抽象工厂实例Demo IOS 设计 模式 抽象 工厂
抽象工厂设计模式抽象工厂设计模式 抽象工厂设计模式 抽象工厂设计模式 抽象工厂设计模式 抽象工厂设计模式 抽象工厂设计模式
设计模式,AbstractFactory,抽象工厂模式
1、抽象工厂模式+反射技术 2、抽象工厂模式+简单工厂模式 3、仅仅是抽象工厂模式
工厂方法模式和抽象工厂模式的区别,对工厂方法模式和抽象工厂模式做了简单的比较
.net抽象工厂+存储过程添加数据(详情教程) 1、web.config配置连接、数据库类型 2、创建抽象工厂、判断连接数据库, 3、在连接的数据库中继承抽象工厂,重写抽象工厂里的接口方法,返回到数据访问层。 4、在接口层...
java设计模式【之】抽象工厂模式【源码】【场景:制作咖啡】 * 抽象工厂 * * 创建对象实例时,不要直接 new 类, 而是把这个new 类的动作放在一个工厂的方法中,并返回。 * 在工厂方法的基础上,进一步抽象工厂...
介绍的是工厂模式 包括简单工厂模式、工厂方法模式、抽象工厂模式 包括PPT和代码
实现抽象工厂多层架构,用到反射机制,实现报表查询,本资源是我的一个机试题,可以现套现用
设计模式-抽象工厂模式(讲解及其实现代码)
4.简单工厂-工厂方法-抽象工厂 对比总结
c#三层+抽象工厂实现+类似抽象工厂反射实现 大家可以看看,很不错,顺便做个广告,希望大家愿意交流的加小弟qq 9480007, 也可以进qq群 46301976 或 76055852
设计模式--抽象工厂模式实现多数据库连接 设计模式,.net设计模式,抽象工厂
抽象工厂模式ppt。抽象工厂模式ppt。抽象工厂模式ppt。
抽象工厂,一个很容易理解的案例,大家可以看一看
抽象工厂模式(Abstract Factory) ——探索设计模式系列之三 Terrylee,2005年12月12日 概述 在软件系统中,经常面临着“一系列相互依赖的对象”的创建工作;同时由于需求的变化,往往存在着更多系列对象的创建...
设计模式 抽象工厂模式 反射 配置文件 设计模式 抽象工厂模式 反射 配置文件 设计模式 抽象工厂模式 反射 配置文件 设计模式 抽象工厂模式 反射 配置文件 设计模式 抽象工厂模式 反射 配置文件 设计模式 抽象工厂...
软件体系结构课程的抽象工厂试验报告,是利用了java语言编写的源代码。
抽象工厂模式(Abstract Factory Pattern) 引入: 在前面介绍的两个创建型模式里面,我们解决的都是有关"new"的问题,用它们来避免显式指定类创建对象。我写的也非常简单易懂,相信看过的朋友们都应该对简单工厂...