- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
23种设计模式的通俗解释,看完秒懂
01⼯⼚⽅法
追MM少不了请吃饭了,麦劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然⼝味有所不同,但不管你带MM去麦劳或肯德基,
只管向服务员说「来四个鸡翅」就⾏了。麦劳和肯德基就是⽣产鸡翅的Factory⼯⼚模式:客户类和⼯⼚类分开。
消费者任何时候需要某种产品,只需向⼯⼚请求即可。消费者⽆须修改就可以接纳新产品。缺点是产品修改时,⼯⼚类也要做相应的修
改。如:如何创建及如何向客户端提供。
02建造者模式
MM最爱听的就是「我爱你」这句话了,见到不同地⽅的MM,要能够⽤她们的⽅⾔跟她说这句话哦,我有⼀个多种语⾔翻译机,上⾯每
种语⾔都有⼀个按键,见到MM我只要按对应的键,它就能够⽤相应的语⾔说出「我爱你」这句话了,国外的MM也可以轻松搞掂,这就
是我的「我爱你」builder。
建造模式:将产品的内部表象和产品的⽣成过程分割开来,从⽽使⼀个建造过程⽣成具有不同的内部表象的产品对象。建造模式使得产品内
部表象可以独⽴的变化,客户不必知道产品内部组成的细节。建造模式可以强制实⾏⼀种分步骤进⾏的建造过程。
03抽象⼯⼚
请MM去麦劳吃汉堡,不同的MM有不同的⼝味,要每个都记住是⼀件烦⼈的事情,我⼀般采⽤FactoryMethod模式,带着MM到
服务员那⼉,说「要⼀个汉堡」,具体要什么样的汉堡呢,让MM直接跟服务员说就⾏了。
⼯⼚⽅法模式:核⼼⼯⼚类不再负责所有产品的创建,⽽是将具体创建的⼯作交给⼦类去做,成为⼀个抽象⼯⼚⾓⾊,仅负责给出具体⼯⼚
类必须实现的接⼝,⽽不接触哪⼀个产品类应被实例化这种细节。
04原型模式
跟MM⽤QQ聊天,⼀定要说些深情的话语了,我搜集了好多⾁⿇的情话,需要时只要copy出来放到QQ⾥⾯就⾏了,这就是我的情话
prototype了。(100块钱⼀份,你要不要)
原始模型模式:通过给出⼀个原型对象来指明所要创建的对象的类型,然后⽤复制这个原型对象的⽅法创建出更多同类型的对象。原始模型
模式允许动态的增加或减少产品类,产品类不需要⾮得有任何事先确定的等级结构,原始模型模式适⽤于任何的等级结构。缺点是每⼀个类
都必须配备⼀个克隆⽅法。
05单态模式
俺有6个漂亮的⽼婆,她们的⽼公都是我,我就是我们家⾥的⽼公Sigleton,她们只要说道「⽼公」,都是指的同⼀个⼈,那就是我(刚
才做了个梦啦,哪有这么好的事)
单例模式:单例模式确保某⼀个类只有⼀个实例,⽽且⾃⾏实例化并向整个系统提供这个实例单例模式。单例模式只应在有真正的“单⼀
实例”的需求时才可使⽤。
06适配器模式
在朋友聚会上碰到了⼀个美⼥Sarah,从⾹港来的,可我不会说粤语,她不会说普通话,只好求助于我的朋友kent了,他作为我和Sarah
之间的Adapter,让我和Sarah可以相互交谈了(也不知道他会不会耍我)
适配器(变压器)模式:把⼀个类的接⼝变换成客户端所期待的另⼀种接⼝,从⽽使原本因接⼝原因不匹配⽽⽆法⼀起⼯作的两个类能够⼀
起⼯作。适配类可以根据参数返还⼀个合适的实例给客户端。
07桥梁模式
早上碰到MM,要说早上好,晚上碰到MM,要说晚上好;碰到MM穿了件新⾐服,要说你的⾐服好漂亮哦,碰到MM新做的发型,要
说你的头发好漂亮哦。不要问我“早上碰到MM新做了个发型怎么说”这种问题,⾃⼰⽤BRIDGE组合⼀下不就⾏了
桥梁模式:将抽象化与实现化脱耦,使得⼆者可以独⽴的变化,也就是说将他们之间的强关联变成弱关联,也就是指在⼀个软件系统的抽象
化和实现化之间使⽤组合/聚合关系⽽不是继承关系,从⽽使两者可以独⽴的变化。
08合成模式
Mary今天过⽣⽇。“我过⽣⽇,你要送我⼀件礼物。”“嗯,好吧,去商店,你⾃⼰挑。”“这件T恤挺漂亮,买,这条裙⼦好看,买,
这个包也不错,买。”“喂,买了三件了呀,我只答应送⼀件礼物的哦。”“什么呀,T恤加裙⼦加包包,正好配成⼀套呀,⼩姐,⿇烦你
包起来。”“……”,MM都会⽤Composite模式了,你会了没有?
合成模式:合成模式将对象组织到树结构中,可以⽤来描述整体与部分的关系。合成模式就是⼀个处理对象的树结构的模式。合成模式把部
分与整体的关系⽤树结构表⽰出来。合成模式使得客户
文档评论(0)