`
zhangzhiya
  • 浏览: 23965 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类

浅谈设计模式.

阅读更多

解IT高薪的根本-你的IT够专业吗?


创建型模式

1、FACTORY一追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯德基,只管向服务员说“来四个鸡翅”就行了。麦当劳和肯德基就是生产鸡翅的Factory

工厂模式:客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消费者无须修改就可以接纳新产品。缺点是当产品修改时,工厂类也要做相应的修改。如:如何创建及如何向客户端提供。

2、BUILDER—MM最爱听的就是“我爱你”这句话了,见到不同地方的MM,要能够用她们的方言跟她说这句话哦,我有一个多种语言翻译机,上面每种语言都有一个按键,见到MM我只要按对应的键,它就能够用相应的语言说出“我爱你”这句话了,国外的MM 也可以轻松搞掂,这就是我的“我爱你”builder。(这一定比美军在伊拉克用的翻译机好卖)

建造模式:将产品的内部表象和产品的生成过程分割开来,从而使一个建造过程生成具有不同的内部表象的产品对象。建造模式使得产品内部表象可以独立的变化,客户不必知道产品内部组成的细节。建造模式可以强制实行一种分步骤进行的建造过程。

3、FACTORY METHOD—请MM去麦当劳吃汉堡,不同的MM有不同的口味,要每个都记住是一件烦人的事情,我一般采用Factory?Method模式,带着MM到服务员那儿,说“要一个汉堡”,具体要什么样的汉堡呢,让MM直接跟服务员说就行了。

工厂方法模式:核心工厂类不再负责所有产品的创建,而是将具体创建的工作交给子类去做,成为一个抽象工厂角色,仅负责给出具体工厂类必须实现的接口,而不接触哪一个产品类应当被实例化这种细节。

4、PROTOTYPE—跟MM用QQ聊天,一定要说些深情的话语了,我搜集了好多肉麻的情话,需要时只要copy出来放到QQ里面就行了,这就是我的情话prototype了。(100块钱一份,你要不要)

原始模型模式:通过给出一个原型对象来指明所要创建的对象的类型,然后用复制这个原型对象的方法创建出更多同类型的对象。原始模型模式允许动态的增加或减少产品类,产品类不需要非得有任何事先确定的等级结构,原始模型模式适用于任何的等级结构。缺点是每一个类都必须配备一个克隆方法。

5、SINGLETON—俺有6个漂亮的老婆,她们的老公都是我,我就是我们家里的老公Sigleton,她们只要说道“老公”,都是指的同一个人,那就是我(刚才做了个梦啦,哪有这么好的事)

单例模式:单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例单例模式。单例模式只应在有真正的“单一实例”的需求时才可使用。

结构型模式

6、ADAPTER—在朋友聚会上碰到了一个美女Sarah,从香港来的,可我不会说粤语,她不会说普通话,只好求助于我的朋友kent了,他作为我和Sarah之间的Adapter,让我和Sarah可以相互交谈了(也不知道他会不会耍我)

适配器(变压器)模式:把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口原因不匹配而无法一起工作的两个类能够一起工作。适配类可以根据参数返还一个合适的实例给客户端。

7、BRIDGE—早上碰到MM,要说早上好,晚上碰到MM,要说晚上好;碰到MM穿了件新衣服,要说你的衣服好漂亮哦,碰到MM新做的发型,要说你的头发好漂亮哦。不要问我“早上碰到MM新做了个发型怎么说”这种问题,自己用BRIDGE组合一下不就行了

桥梁模式:将抽象化与实现化脱耦,使得二者可以独立的变化,也就是说将他们之间的强关联变成弱关联,也就是指在一个软件系统的抽象化和实现化之间使用组合/聚合关系而不是继承关系,从而使两者可以独立的变化。

8、COMPOSITE—Mary今天过生日。“我过生日,你要送我一件礼物。”“嗯,好吧,去商店,你自己挑。”“这件T恤挺漂亮,买,这条裙子好看,买,这个包也不错,买。”“喂,买了三件了呀,我只答应送一件礼物的哦。”“什么呀,T恤加裙子加包包,正好配成一套呀,小姐,麻烦你包起来。”“……”,MM都会用Composite模式了,你会了没有?

合成模式:合成模式将对象组织到树结构中,可以用来描述整体与部分的关系。合成模式就是一个处理对象的树结构的模式。合成模式把部分与整体的关系用树结构表示出来。合成模式使得客户端把一个个单独的成分对象和由他们复合而成的合成对象同等看待。

9、DECORATOR—Mary过完轮到Sarly过生日,还是不要叫她自己挑了,不然这个月伙食费肯定玩完,拿出我去年在华山顶上照的照片,在背面写上“最好的的礼物,就是爱你的Fita”,再到街上礼品店买了个像框(卖礼品的MM也很漂亮哦),再找隔壁搞美术设计的Mike设计了一个漂亮的盒子装起来……,我们都是Decorator,最终都在修饰我这个人呀,怎么样,看懂了吗?

装饰模式:装饰模式以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案,提供比继承更多的灵活性。动态给一个对象增加功能,这些功能可以再动态的撤消。增加由一些基本功能的排列组合而产生的非常大量的功能。

10、FACADE—我有一个专业的Nikon相机,我就喜欢自己手动调光圈、快门,这样照出来的照片才专业,但MM可不懂这些,教了半天也不会。幸好相机有Facade设计模式,把相机调整到自动档,只要对准目标按快门就行了,一切由相机自动调整,这样 MM也可以用这个相机给我拍张照片了。

门面模式:外部与一个子系统的通信必须通过一个统一的门面对象进行。门面模式提供一个高层次的接口,使得子系统更易于使用。每一个子系统只有一个门面类,而且此门面类只有一个实例,也就是说它是一个单例模式。但整个系统可以有多个门面类。

分享到:
评论

相关推荐

    设计模式浅谈24种.ppt

    在《设计模式浅谈24种》中,主要讨论了24种经典的GOF设计模式,这些模式被分为三大类:创建型、结构型和行为型。 创建型模式主要关注对象的创建,包括以下几个核心模式: 1. **Abstract Factory**(抽象工厂)模式...

    公开课第六节:自动化测试的设计模式.mp4

    光荣之路吴老公开课视频教学,...公开课第六节:自动化测试的设计模式.mp4 公开课第七节(1):自动化测试的设计模式2.avi 公开课第八节:自动化测试的设计模式3.avi 公开课第九节:多线程和自动化测试的并发模式.mp4

    浅谈机器人设计.doc

    "浅谈机器人设计" 机器人设计是指根据特定的应用场景和需求,设计和制造能够完成相应任务的机器人系统。随着科学技术的发展和社会的进步,机器人的应用领域越来越广泛,从传统的工业领域向军事、医疗、服务等各个...

    基于设计心理学浅谈潮汐app.pdf

    在“睡眠”模式中,潮汐APP深知睡眠质量对于人们生活质量的重要性,特别为睡眠障碍者设计。通过对自然声音的精心挑选,如海浪声、雨声等,它们能有效诱导大脑进入放松状态,帮助用户快速入睡。这一点符合现代人对于...

    浅谈计算机平面美术设计课程教学模式.pdf

    浅谈计算机平面美术设计课程教学模式.pdf

    浅谈品管圈.zip

    总的来说,“浅谈品管圈”可能涵盖IT领域的质量管理策略、团队协作技巧、问题解决方法以及持续改进的思维模式,对于提升IT组织的效率和质量具有重要意义。通过深入学习和应用这些知识,IT从业人员可以更好地应对工作...

    浅谈PHP技术.pdf

    浅谈 PHP 技术 PHP(Hypertext Preprocessor)是一种服务器端的 HTML 嵌入式脚本语言,具有易于学习和使用的特点,语法混合了 C 语言、Java 语言和 Perl 语言的特点,是一种被广泛应用的开源式的多用途脚本语言,...

    浅谈星巴克盈利模式.doc

    2. 赢利模式设计:星巴克的收入主要来自饮品和食品的销售,同时,通过会员制度、周边商品销售、合作品牌推广等方式增加收入来源。星巴克对价格和利润分配有高度控制力,确保了其在产业链中的主导地位。 二、策略性...

    设计模式浅谈种PPT学习教案.pptx

    本文将围绕“设计模式浅谈”这一主题,深入探讨设计模式的基本概念、核心原则以及在实际应用中的作用,特别关注创建型设计模式的介绍与应用。 首先,我们不得不面对这样一个现实:在软件开发过程中,代码的紧密耦合...

    《浅谈Java设计模式之原理简述》.pdf

    《浅谈Java设计模式之原理简述》

    设计模式浅谈,113页ppt详解设计模式

    设计模式浅谈,113页ppt详解设计模式,讲解了常用的设计模式以及实现

    浅谈设计模式在Android代码重构中的应用.pdf

    【摘要】本文主要探讨了设计模式在Android应用开发中的重要性,特别是在代码重构过程中的应用。随着Android系统的广泛使用和应用市场的激烈竞争,开发者面临着提升代码质量和运行效率的压力。文章指出,代码重构是...

    浅谈通货膨胀预期.docx

    政策制定者需要考虑预期的粘性、模糊性、传染性和直接性,设计适当的政策工具来引导预期,从而实现宏观经济的平稳运行。同时,通过教育和信息公开,提高公众的经济素养,也有助于形成更理性的通胀预期,促进经济的...

    浅谈政治教学.docx

    教师需要能够迅速识别学生的行为模式,针对新的、意外的情况采取有效的教育措施。这要求教师在日常教学中积累经验,学习教育理论,并积极参与教育实践,从而逐渐形成和发展教育机智。 在政治教学中,教师需要引导...

    浅谈C语言学习.pdf

    软件,作为计算机的灵魂,其开发需要借助于程序设计语言。C语言作为一种广泛流行和历史悠久的编程语言,对于计算机专业学生以及编程爱好者而言,是不可或缺的基本技能。在高等教育阶段,C语言不仅是一门基础公共课程...

    C#面向对象设计模式纵横谈 12种设计模式

    在编程领域,设计模式是解决常见问题的经过验证的、可重用的解决方案。...通过阅读《C#面向对象设计模式纵横谈》一书,你将能够深入了解这些模式的实现细节和应用场景,从而在实际开发中游刃有余。

    公开课第七节:自动化测试的设计模式2.avi

    光荣之路吴老公开课视频教学,...公开课第六节:自动化测试的设计模式.mp4 公开课第七节(1):自动化测试的设计模式2.avi 公开课第八节:自动化测试的设计模式3.avi 公开课第九节:多线程和自动化测试的并发模式.mp4

    公开课第八节:自动化测试的设计模式3.avi

    光荣之路吴老公开课视频教学,...公开课第六节:自动化测试的设计模式.mp4 公开课第七节(1):自动化测试的设计模式2.avi 公开课第八节:自动化测试的设计模式3.avi 公开课第九节:多线程和自动化测试的并发模式.mp4

    操作系统篇-浅谈实模式与保护模式.docx

    ### 操作系统篇-浅谈实模式与保护模式 #### 一、引言 随着计算机技术的发展,操作系统作为连接硬件与软件之间的桥梁扮演着至关重要的角色。而在操作系统的底层实现中,实模式与保护模式是两个核心概念。本文旨在...

Global site tag (gtag.js) - Google Analytics