登陆注册
15296300000116

第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。不同的视感风格为诸如滚动条、窗口和按钮等用户界面‘窗口组件’定义不同的外观和行为。为保证视感风格标准间的可移植性,一个应用不应该为一个特定的视感外观硬编码它的窗口组件。在整个应用中实例化特定视感风格的窗口组件类将使得以后很难改变视感风格。”

同类推荐
  • 一本书读懂大数据

    一本书读懂大数据

    本书是深入研究互联网思维的经典之作,从互联网思维的定义到互联网思维应用的具体案例表现。作者深入浅出、条分缕析,全面阐述互联网思维的内核与精神,逐一点评当前关于互联网思维的各种观点。本书从最初级的互联网思维应用到高端的粉丝经济,平台建设,自媒体营销的方法都有详细讲解介绍。让读者了解什么是互联网思维的同时还能学会把互联网思维运用到自己的工作学习已经生活中。
  • 多媒体技术

    多媒体技术

    多媒体技术多媒体技术多媒体技术多媒体技术多媒体技术多媒体技术多媒体技术多媒体技术多媒体技术多媒体技术多媒体技术
  • 信息技术教育大全-操作系统大全

    信息技术教育大全-操作系统大全

    本书系统介绍说明了有关电子信息系统及操作系统等知识,希望对该信息技术有需求的读者能够从中得到帮助。
  • 科学伴你行-神奇的通信技术

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

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

    中国3D打印的未来

    自2012年以来,有关3D打印的报道屡见报端,这一新型制造技术引起了全世界的广泛关注。《中国3D打印的未来》作者、中国3D打印技术产业联盟秘书长罗军认为,中国从20世纪90年代初开始涉足3D打印技术,并取得了巨大进展,但与国外同行相比仍存在一定差距。特别是中国3D打印企业普遍存在“小而散”、各自为政的现象,如何发挥整合优势、抱团发展是目前亟需解决的问题。如果能够加强同行合作,抱团发展,形成合力,相信3D打印会成为唯一一项中国有可能赶超世界先进水平的技术。
热门推荐
  • 全能邪医

    全能邪医

    被女神逆推的宫辰,意外获得了掌控病菌的能力,可以杀人于千里,救人于无形,还能吞噬各种天赋,你们会的我都会,你们不会的我也会,我就是全能邪医!别惹我,否则我让你分分钟大姨妈到来,精神病发作,脑溢血死亡!
  • 王俊凯之同桌冤家未婚妻

    王俊凯之同桌冤家未婚妻

    这本书凯源玺都有写的哟!写的也很详细的哦。
  • 江湖路

    江湖路

    江湖路是一条不归路,刘龙用他的青春、热血,激情,为大家演绎一场无比璀璨的人生。让我们一起大喊青春万岁!让我们一起大喊友情万岁!让我们一起大喊爱情万岁!
  • 修仙完全手册

    修仙完全手册

    曾经为了亲情,为了心中的一点热,放弃了自己的一切。一个偶然的机会,来到了这个世界。这里有美女,有宝物。可以修炼,可以成仙。最重要的是,这里没有心灵上的束缚。-----------------------------------------------------------------本书已签约,放心收藏。每日更新,风雨无阻。
  • 绝代名旦

    绝代名旦

    白峨戏院,红妆浅笑;黑暗尽头,生死之殇。一代名旦,两世沉浮;上海滩之夜,风起云涌。真真假假,假假真真,亦真亦幻间,苦苦求索……再度回首,才发现这段记忆依旧刻骨铭心!
  • 凰临天下:纨绔小姐要逆袭

    凰临天下:纨绔小姐要逆袭

    明明是雪云大陆的云兰学院的高材生,魔法.炼药.还有御兽样样精通,小日子过的不错。可刚从考场出来就被最好的闺密弄死了。呃,穿越成了平行空间天岚大陆赫连世家的小小姐,也是赫连家唯一的女娃。结果全家上下的各种疼爱让赫连月卿有些受宠若惊了。不过,修炼不能忘记,魔法,炼药重操旧业,不仅是这些还因为有随身空间这个法宝学会了音杀这个绝技,拥有了灵瞳。问题是随手搭救她的美男吵着要让她以身相许,怎么办!?
  • 大哥III

    大哥III

    五年之后,聂山鹰出狱,却不被允许做威胜公司的大哥,整个西南黑道为之震动。大家纷纷观望威胜公司的下一步行动。一直默默无闻的苏树东在聂山鹰入狱的日子里“强大”起来,成了聂山鹰的头号对手。这个年轻人在成长过程中都经历了什么,为何会一步步扭曲自己的心灵,最终走入黑道?又为何将当初的偶像聂山鹰视为对手……
  • 奇幻天灵

    奇幻天灵

    沸腾的鲜血,将开启我的征程。我将注定是世界的主宰。这是一个山村少年用剑斩碎乾坤的故事。
  • 萱草物语:绝恋

    萱草物语:绝恋

    殇雨泪,是个可怜的孩子。父母离异。她自己养活自己,她今年已经16岁了,早熟的她,没有自信,因为她曾经历过那样的事情,在这个校园里,究竟会发生什么呢?敬请期待。
  • 万骨纵世

    万骨纵世

    不是一个人的成长故事,主角的成长带动周围仆人,挚友一起成长。一路上,他们志同道合,怒对普天的不公平,立誓成长,打破制衡。布恭的仆人,拥有穹霄火麟坠,万年神荒秘辛成就普天第一战将;布恭的挚友,天骨之一厚积而薄发,势要超越布恭倒翻乾坤;布恭的敌人,同出一星洲,在外相争,谁人动我老乡;……布恭曰:这普天四分五裂,势力瓜分,为何我们不能倾覆普天,重建大地!