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

同类推荐
  • 中国移动智能手机的秘密

    中国移动智能手机的秘密

    《中国移动智能手机的秘密》是一本关于移动终端和移动互联网的科普书。作者将这18年通信行业中的学习、思考、实践积累成《中国移动智能手机的秘密》与大家分享。书本系统总结了手机的发展历史、TD产业界“从2G向3G演进”的移动终端产业分化重组进程、智能手机的使用方法用方法和应用指南,以及对移动互联网发展独特思考。
  • 《Internet实用技术》作业集

    《Internet实用技术》作业集

    随着计算机应用的普及和社会信息化水平的提高,Internet已走进我们的生活。《Internet实用技术》这门课将带领我们走进网络的神秘殿堂,让我们认识网络,了解网络,进而学会使用网络,维护网络。其范围涵盖了在授课过程中所讲授的内容,题型多样,内容丰富,并附有两套模拟题,最后附有答案。学生可按照课程进度做习题来巩固和掌握知识。本作业集由李琳编写,由西北工业大学网络教育学院负责组稿和审定。因为时间仓促,水平有限,错误和不当之处在所难免,敬请读者批评指正。
  • 办公软件高级应用

    办公软件高级应用

    日新月异的信息技术使计算机的应用渗透到各行各业,融入到我们的工作、学习和生活中,特别是在办公领域中运用计算机技术,可以实现办公自动化,成倍地提高工作效率。在众多的办公软件中,微软公司的Office系列软件是办公自动化软件中的佼佼者,其强大的功能深受全世界广大用户的青睐。根据当前业界的需求以及办公软件的实际应用范围,本书针对Office2003系列产品,深入讲解其高级应用知识和操作技能。
  • 如何建设网站

    如何建设网站

    本书以问答的方式介绍了建设网站的基本知识,内容包括:网站设计的八个步骤、建设网站需要掌握的工具软件、网页中插入图像、在网页中隐藏内容等。
  • 一本书读懂24种互联网思维

    一本书读懂24种互联网思维

    本书整合的改变世界的24种互联网思维,让我们对互联网新思维的认识变得立体、系统起来;同时深入浅出、通俗易懂地从技术和实践分析互联网新思维与传统思维相比较的优势,医治互联网焦虑症。未来属于既能深刻理解传统商业的本质,同时又具备互联网思维的人。
热门推荐
  • 抑郁症的疯人日记

    抑郁症的疯人日记

    希望有人能够在这篇文章中获得力量也希望有人能够了解,疯人的精神世界能够得到救赎就好了呢
  • 医色倾城:废材王妃要逆天

    医色倾城:废材王妃要逆天

    她是二十一世纪顶级外科医生,一朝穿越变成一个丑若无颜,胖如肥猪的御医世家,爹爹不疼,母亲不爱,渣男为退婚,成亲之日派人哭丧。我去你奶奶个腿,一封休书,让渣男颜面扫地,用毒用药,让满城人唯慌唯恐,人不犯我,我不犯人,人若犯我,还他毒针,人再犯我,呵呵,斩,草,除,根…….
  • 茉雨潇

    茉雨潇

    舞蓉学校里的百合女神在学校与所有同学们发生了什么事?与学校的公认男神任霖辰之间的种种情能否继续?在与闺蜜之间的故事会是怎样的?
  • 天行

    天行

    号称“北辰骑神”的天才玩家以自创的“牧马冲锋流”战术击败了国服第一弓手北冥雪,被誉为天纵战榜第一骑士的他,却受到小人排挤,最终离开了效力已久的银狐俱乐部。是沉沦,还是再次崛起?恰逢其时,月恒集团第四款游戏“天行”正式上线,虚拟世界再起风云!
  • 孤岛漂记

    孤岛漂记

    爪哇岛新建的迪土尼乐园一开放就吸睛无数。巨型邮轮在开往世界版图的中心爪哇岛途中,意外遇风暴。游轮沉没,理暄在混乱中昏迷,醒来时已在一座孤岛上……从事地质勘探工作的何明铭与理暄二人能否孤岛存活,等待营救?
  • 穿越成福运小地主

    穿越成福运小地主

    一朝穿越成了地主人家的小丫头,还没享福,父亲兄长不知所踪,讨债人纷纷上门,隔壁妾室两儿子还横插一脚,卷钱卖田谋财害命。可惜十三岁壳子里装的新时代独立成功女青年,装柔弱扮无辜,赚钱挖坑统统不在话下。励志成为大地主,没想到半路捡了个“病美人”,犯了恻隐之心怎么办,那就娶回家吧!
  • 远航到潮汐深处

    远航到潮汐深处

    他与她的相识源于一场巧合,而他却在第一次看见她时便已沦陷,他步步为营,诱她入怀……
  • 南极北极

    南极北极

    作者深入探寻南极洲,探访企鹅世界;也曾追寻最初的南极探险者的足迹,了解过南极的宝贵的文化遗产;并沿着南极海岸线找寻与南极相关联的风景和人文历史;踏进了北极熊的领域,感受了北极白色海洋的雄浑魄力。
  • 悍修

    悍修

    从他跳崖那时开始,他就注定不平凡。三兄弟,三条不同的路,最终只为一个目的——换天。当被雷劈过以后,当得知自己的身世以后,他知道,他已疯狂!兄弟是我的左臂和右膀,女人是我战斗的动力,家人是我疯狂的理由。
  • 天行

    天行

    号称“北辰骑神”的天才玩家以自创的“牧马冲锋流”战术击败了国服第一弓手北冥雪,被誉为天纵战榜第一骑士的他,却受到小人排挤,最终离开了效力已久的银狐俱乐部。是沉沦,还是再次崛起?恰逢其时,月恒集团第四款游戏“天行”正式上线,虚拟世界再起风云!