登陆注册
8183300000116

第116章 2 抽象工厂模式

时间:1月1日地点:大B房间人物:大B,小。

大B:“我们可以认为麦当劳和肯德基就是生产食物的工厂,那么理所当然,汉堡和鸡腿是他们共同生产的两种食物,不管你去MDL还是KDJ,说:我要鸡腿,那肯定不会给你拿来烤羊腿。嘿嘿!这里,我们假定麦当劳和肯德基只生产这两种产品。我们是消费者,我们就是客户,就是产品的消费者,就是程序中对象的调用者。而麦当劳和肯德基,理所当然的,他们就是工厂,一个叫做麦当劳工厂,一个叫做肯德基工厂,他们是真正的生产者,而对于我们这些客户消费者(程序中对象的调用者)来说,不管是去麦当劳还是肯德基,我们都说一样的话(我们的要求是稳定的):我要鸡腿。只要我们提出这个请求,那么肯定会得到我们想要的。而作为工厂(生产者),麦当劳和肯德基都生产鸡腿和汉堡,所以抽象出来的抽象工厂都具有生产鸡腿和生产汉堡的功能,这是接口中的两个方法。因为在这个接口中,还不知道到底要生产谁家的产品,所以只能返回个抽象的鸡腿或汉堡,等到麦当劳或者肯德基工厂生产出来,就知道是谁家的了。(有标志嘛,这就是动态创建对象)。不管是麦当劳还是肯德基的鸡腿或汉堡,它的本质都是鸡腿或汉堡,所以可以抽象出来。那么鸡腿就派生出麦当劳的鸡腿和肯德基的鸡腿,而汉堡就派生出麦当劳的汉堡和肯德基的汉堡。而对于我们这些客户消费者(程序中对象的调用者)来说,不管是去麦当劳还使肯德基,我们都说一样的话(我们的要求是稳定的):我要鸡腿。只要我们提出这个要求,那么肯定会得到我们想要的。不管是谁家的鸡腿,肯定是鸡腿不会是羊腿。所以,我们只要规定好是鸡腿(接口)就行了,而让工厂去绝对具体的制作过程。我们只伸手接过来一个鸡腿,狠狠的咬一口,恩,真香!)到现在为止,我们只和鸡腿(抽象的接口)还有抽象工厂(因为我们不管是麦当劳还是肯德基,我们只要鸡腿)打交道。你现在知不知道什么是抽象工厂模式?”

小A:“抽象工厂模式提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。抽象工厂(Abstract Factory)模式,又称工具箱(Kit 或Toolkit)模式。”

大B:“从模式定义中知道这个模式的意图内容为:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。工厂类层次的通信接口只有抽象工厂和创建产品族的各个工厂方法,这些工厂方法不带任何参数,并且返回具有抽象产品类型的具体产品实例。这些使得客户端可以不依赖具体产品的类,从而体现了模式的意图。意图中的‘而无需指定它们具体的类’可以理解为客户端在使用和创建具体产品时不给出具体产品的任何暗示。”

小A:“师兄,抽象工厂模式有什么动机啊?”

大B:“考虑一个支持多种视感(l o o k-a n d-f e e l)标准的用户界面工具包,例如M o t i f和Presentation Manager。不同的视感风格为诸如滚动条、窗口和按钮等用户界面‘窗口组件’定义不同的外观和行为。为保证视感风格标准间的可移植性,一个应用不应该为一个特定的视感外观硬编码它的窗口组件。在整个应用中实例化特定视感风格的窗口组件类将使得以后很难改变视感风格。”

同类推荐
  • 如何处理电脑故障

    如何处理电脑故障

    本书以问答的方式介绍了电脑会出现的各种故障,内容包括了音箱声音失真,如何处理?如何做好电脑的日常维护等等问题。
  • 综合应用软件设计

    综合应用软件设计

    本书是为计算机、信息管理等相关专业高年级本科生在开设相关课程时所编写的一本教学参考书,它将全面指导学生学习、熟悉和运用当今被广泛采纳的一些主流技术去进行综合应用软件设计的有效实践。
  • 数字博物馆研究与实践:2009

    数字博物馆研究与实践:2009

    本书汇集了“2009年北京数字博物馆研讨会”与会代表提交的60余篇论文和演讲报告、应用案例,分为数字博物馆(科技馆)发展研究探讨、数字博物馆(科技馆)多样性发展模式、数字技术在博物馆(科技馆)展陈中的应用、数字博物馆(科技馆)建设实践、数字博物馆(科技馆)实现技术和数字博物馆调研报告等六个部分。本书内容囊括了对数字博物馆(科技馆)建设宏观层面的全局思考以及微观层面的具体实践。在宏观层面,介绍了数字博物馆(科技馆)在国内外的发展现状与趋势,通过剖析典型案例,探讨数字博物馆(科技馆)建设的意义、目标、作用、建设原则、要素、特征及目前建设工作中存在的现实问题与对策。
  • 科学伴你行-神奇的通信技术

    科学伴你行-神奇的通信技术

    在日常生活中,有时人们要借助于小旗子来进行通信联络,比如,开运动会时,发令员常常要用小旗子与计时员联系;当你乘坐火车进入车站时,都会看到车站工作人员拿着红色和绿色的小旗子在站台上进行指挥;在战争中,打出白色旗子表示投降,插上红色旗子表明胜利;航行在茫茫大海上的船只,双方船员会凭不同旗帜组成的标志,来了解对方的意思。以上种种用小旗子来“说话”的通信方式就叫做旗语。
  • 下一代互联网

    下一代互联网

    本书系统介绍了下一代互联网的进展情况,包括下一代互联网的概念解析,国内外下一代互联网的最新发展情况,下一代互联网的关键技术进展,以及各国发展下一代互联网的政策计划。最后分析了下一代互联网对未来社会的影响,提出我国发展下一代互联网的政策建议等。全书共6章,包括互联网发展历史和现状,下一代互联网基本概念,下一代互联网研究最新进展,下一代互联网发展现状,我国发展下一代互联网现状,发展下一代互联网战略建议。
热门推荐
  • 戴纳韦尔与霍格沃茨

    戴纳韦尔与霍格沃茨

    穿越成哈利?波特世界的戴纳?韦尔在霍格沃茨学校的魔法之旅。至于哈利?波特,戴纳秉持不干预、不结交、不跟随的三不政策,你的苦难和荣耀依旧是你的,我自有我的精彩!
  • 洪荒之妖族大君

    洪荒之妖族大君

    这是一个穿越到洪荒西游世界的家伙的心酸求生史圣人对弈,以天地为棋,落子无声,曲终人散后,棋子注定要泯灭洪荒...桥豆麻袋!苏麓大声喊道,作者君你搞清楚,我可是主角,怎么就泯然了?圣人布局,你还想活?开什么玩笑?我可是穿越过去的,我不仅要活,我还要活的滋润!
  • 主宰冰火傲九天

    主宰冰火傲九天

    这片天地世界,以火为尊,以冰为主,天地间唯有冰火,韩炎主角,主宰冰火傲九天,冰火寒炎诀,冰火达少
  • EXO之萌妃狐仙

    EXO之萌妃狐仙

    女主闲妖界无聊,某次就跑到了韩国来玩,却遇到了十二只花美男,却因为特殊原因又回到了妖界。What?!什么鬼未婚夫!?还要去魔法学院上学,美名曰培养感情!?途中还有个白莲花?看我们美腻的狐仙大人怎么度过重重难关吧。
  • 影后不是软柿子

    影后不是软柿子

    苏遇见识到圈子里的黑暗后,她放弃挣扎,陷入泥潭。重来一次,她居然回到她刚出道的时候。有着前世记忆的她并没有去抢资源,而是想远离娱乐圈,找一份工作陪在父母身旁的工作。可惜某些蹦跶的人一而再再而三的挑衅她。苏遇改变之前的主意了,她得让某些人明白不能太得意,不然会阴沟里翻船的哦。
  • 走向梦中的远方

    走向梦中的远方

    本书是一本绝对与众不同的写物随笔,里面长长短短的句子里,既有张爱玲式的才情飞扬,又有李清照式的闲愁悠悠,文风孤绝清艳。作者通过唯美、感伤而灵动的语言,牵引出一段段青涩晶莹、暗香隐约的少年情怀。
  • 英雄联盟之死亡联赛

    英雄联盟之死亡联赛

    当人们还津津乐道S4世界联赛的精彩过程的时候,邹凯和他的队友们在疯狂的训练中,明天他们的对手是积分榜第三的死神战队,死亡联赛淘汰赛的最后一把,如果失败,面对他们的将是——死亡。
  • 龙凌逆世

    龙凌逆世

    少年出生是迷,母亲留下了唯一样东西,是一把剑。养父家族惨遭灭门。自此少年从边荒小城崛起,为复仇,为解迷,一路直取青天。别人皆言:此子心中无天,逆世而来。龙凌只道:誓登武道巅,灭尽天下敌。
  • 夫人你的底线呢

    夫人你的底线呢

    外界传言,墨家有女墨小柒,一岁会爬,三岁会滚。纳尼?!肿么肥四?!原来是我们的墨“小”仙女长得太可爱了,圆滚滚的……胖不可怕,可怕的是你胖还不自知!!沈家有子沈景硕,三岁便开始小学课程,九岁步入初中的门槛,当沈小神童遇见墨小仙女,又会有什么样的碰撞呢?片段一:“景硕,妈咪今天带你去参加你墨阿姨女儿的满月宴好不好?”陈女士一脸谄媚的对着面前的小儿子说道。“不好。”小男孩平静的吐出两个字。陈女士“……”我还能说什么,我还能做什么啊。片段二:某男孩一脸茫然的看着婴儿床上对着自己傻笑的墨小仙女,伸出手指,在那鸡蛋般细腻光滑的脸上,一本正经的戳了戳。“哇——”一道惊天地泣鬼神的哭声将某男生吓到了,强忍着内心的不淡定,拍了拍婴儿床的上某小仙女。墨小仙女“……”看着某位小仙男嫌弃的眼神,内心慌得一批。本文1V1,男女主身心健康,男主傲娇霸道,女主软萌无下限。
  • 学校游艺项目的训练与比赛(上)

    学校游艺项目的训练与比赛(上)

    本书是学校文化娱乐活动项目训练与比赛系列之一,学校的文化娱乐活动项目包括音乐、美术、舞蹈、文学、语言、曲艺、戏剧、表演、游艺等多方面内容,在这些文化娱乐活动中,广大青少年通过接受不同形式、不同内容的有益教育,能够受到潜移默化的作用,这对造就和培养有理想、有道德、有纪律、有文化、适应时代腾飞的新一代人才有着十分重要的作用。