从零开始学习Java设计模式 | 创建型模式篇:抽象工厂模式
Posted 李阿昀
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从零开始学习Java设计模式 | 创建型模式篇:抽象工厂模式相关的知识,希望对你有一定的参考价值。
在本讲,我们来学习一下创建型模式里面的第三个设计模式,即抽象工厂模式。
前言
前面介绍的工厂方法模式中考虑的是一类产品,如畜牧场只养动物、电视机厂只生产电视机(不生产空调、冰箱等其它的电器)、计算机学院只培养计算机软件专业的学生等。
这些工厂只生产同种类产品,而同种类产品又被称为同等级产品,也就是说,工厂方法模式只考虑生产同等级的产品,但是在现实生活中许多工厂都是综合型的工厂,能生产多等级(种类) 的产品,如电器厂既生产电视机又生产洗衣机或空调,苹果代工厂既生产苹果电脑又生产苹果手机或苹果iPad,大学既有软件专业又有生物专业等。
本讲要介绍的抽象工厂模式将考虑多等级产品的生产,将同一个具体工厂所生产的位于不同等级的一组产品称为一个产品族。这句话大家可能不是特别好理解,有点绕是不是?但没关系,下面我们来看一张图,相信大家就能很好地理解了。
上图所示横轴是产品等级,也就是同一类产品,从图中可以看到不管是一体机,还是笔记本,还是台式机,它们都是同一级别的产品,即电脑;纵轴是产品族,也就是同一品牌的产品,同一品牌的产品产自同一个工厂,例如苹果代工厂既生产苹果电脑又生产苹果手机或苹果iPad,生产出的这些产品就属于同一个产品族。
经过以上分析,相信大家对产品族和产品等级这两个概念有了一定的认识,接下来,我们再来看一张图,以便加深理解。
先来看左边部分,这部分的东东都是属于同一个产品族的,里面包含有外套、领带、衬衫、西裤、皮鞋等等这些产品,很明显能感受到这个产品族是属于商务风格的。再来看右边部分,这部分的东东同样属于同一个产品族,里面包含有运动上衣、毛衫、运动裤子、运动鞋等等这些产品,看得出来这个产品族是属于运动风格的。
那么在上面这张图中,如何去体现同级别的产品呢?同级别的产品就是同种类的产品,这点大家要知道哟!
商务风的上衣是上衣,运动风的上衣它也是上衣,所以它们属于同级别的产品。再比如鞋子,皮鞋和运动鞋就属于不同产品族里面的同种类产品。
至此,通过上面两张图我就为大家讲清楚了产品族和产品等级这两个概念,大家好好消化一下。
理解清楚以上概念之后,下面我就要为大家讲解抽象工厂模式了。
以上是关于从零开始学习Java设计模式 | 创建型模式篇:抽象工厂模式的主要内容,如果未能解决你的问题,请参考以下文章
从零开始学习Java设计模式 | 创建型模式篇:抽象工厂模式
从零开始学习Java设计模式 | 创建型模式篇:抽象工厂模式