![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
文章平均质量分 85
勤言不勤语
走走看看,停停想想。
展开
-
设计模式--外观模式
目录本文的结构如下:什么是外观模式模式的结构代码示例优点和缺点适用环境模式应用模式扩展补充一、前言话说某天空气质量回到秦汉,月色如水倾泻,温度适宜,微风袭人,我在院子树下架起圆木桌,摆上雕花凳,桌上依次摆放红烧肘子,烧牛肉,剁椒鱼头,烤羊排,炸猛男……美人在怀,饮一口小酒,复又夹起一块牛肉放入口中,这滋味,岂不快哉?快你个头啊,赶紧起来给我码代码。恍惚中听到一声怒吼,我从好梦中惊醒原创 2017-11-09 16:41:30 · 306 阅读 · 0 评论 -
设计模式--原型模式
目录本文的结构如下:引言什么是原型模式浅克隆和深克隆clone()模式的结构典型代码代码示例优点和缺点适用环境一、引言我是一个很幼稚的人,所以经常会有很幼稚的想法,比如,有时候上着班我就在想,要是我能够影分身多好,这样,我可以让一号分身陪女朋友和家人,二号分身上班敲代码,三号分身街头卖烤串,四号分身被窝玩游戏……我的可笑想法在当下是不现实的,但在软件开发中,却是非常务实的。设计模原创 2017-12-04 14:15:38 · 232 阅读 · 0 评论 -
设计模式--迭代器模式
目录本文的结构如下:引言什么是迭代器模式模式的结构典型代码代码示例优点和缺点适用环境模式应用一、引言在平时生活中,可能有这样的场景,一天的高强度敲代码特别疲累,下班后又在十字路口堵了大半天,好不容易回到家中,啥也不想干,就往沙发上一躺,拿起遥控器,打开电视,选了一个爱看的频道,哇,全是美女,好吧,可惜太累了,居然睡着了。这里的电视就是一个存放频道的容器,而遥控器则方便我们去访问这个原创 2017-11-24 17:13:58 · 364 阅读 · 0 评论 -
设计模式--建造者模式
目录本文的结构如下:引言什么是建造者模式模式的结构典型代码代码示例Builder模式变种建造者模式与抽象工厂模式优点和缺点适用环境模式应用一、引言玩过游戏的应该清楚,游戏中有很多角色,这些角色往往都有不同的外形,不同的能量值,不同的服饰,不同的武器等等,所以要创造一个游戏角色,就要创造构成这个游戏角色不同组成;再比如电脑,电脑是由CPU,主板,内存,显示器等组成的,电脑生厂商需原创 2017-12-05 08:44:05 · 339 阅读 · 0 评论 -
设计模式--桥接模式
目录本文的结构如下:引言什么是桥接模式模式的结构典型代码代码示例优点和缺点适用环境模式应用一、引言以往出门都要带上钱包,准备一些现金,但自从有了支付宝,就再也没怎么拿过钱包,口袋揣个手机就可以了,除了付款,手机游戏也很多,也可以看小说,可以说,已经离不开手机。既然离不开手机,当然会给手机很多保护了,比如贴膜,戴上手机壳等等。厂家在生产手机时,都不是把手机和手机壳作为一个整体生产,然原创 2017-12-05 16:20:07 · 384 阅读 · 0 评论 -
设计模式--访问者模式
目录本文的结构如下:引言什么是访问者模式模式的结构典型代码访问者模式中的伪动态双分派代码示例访问者模式与组合模式联用优点和缺点适用环境模式应用一、引言三国演义中有这样一个故事:曹操官渡之战击败袁绍后,缴获一堆信函,很多是自己的属下和袁绍私下的通信。大家建议曹操按着信抓人。曹操则说,当时袁绍强大的时候,我都怀疑自己能不能赢,何况那些下属。一把火把信都烧了,既往不咎。一堆信函,这里原创 2017-12-14 16:59:19 · 525 阅读 · 0 评论 -
设计模式--享元模式
本文的结构如下:引言什么是享元模式模式的结构典型代码代码示例单纯享元模式和复合享元模式模式扩展优点和缺点适用环境模式应用一、引言衣服小了,没有办法只能买新的,衣服破了一个小口,无伤大雅,则可以穿针引线缝补妥当。如果是黑色的衣服,选上黑色的细线是合适的,灰色的衣服配上灰色的细线是适宜的,白色的衣服搭上白色的细线也是恰好的……至于针,一直就是那根针。在软件开发中,也有差不多的情况,原创 2017-12-06 11:15:12 · 239 阅读 · 0 评论 -
设计模式--组合模式
目录本文的结构如下:引言什么是组合模式模式的结构典型代码代码示例优点和缺点适用环境模式应用一、引言树形结构是很常见的,比如目录系统,随便点开一个文件夹,文件夹下面可能有文件,也有子文件夹,子文件夹中还有子子文件夹和文件……还有导航中的菜单。还有公司的部门构造等,展开来看都是树形的结构。这些树形结构在面向对象的世界中一般是用组合模式来处理的。组合模式通过一种巧妙的设计方案,可以一致性原创 2017-11-27 16:16:14 · 279 阅读 · 0 评论 -
设计模式--策略模式
目录本文的结构如下:引言什么是策略模式模式的结构典型代码代码示例策略模式和模板方法模式的区别优点和缺点适用环境模式应用一、引言写这篇文章的时间是17年11月18号上午9点半,NBA正打得火热,骑士VS76人,詹韦对阵大帝和西帝,内线孱弱的骑士被大帝蹂躏,欲生欲死;再看火箭VS篮网,第一节哈登7中7,三分5中5,狂砍20分;又有步行者VS魔术,奥拉迪波10中10……可谓精彩。我们的原创 2017-11-28 11:45:43 · 262 阅读 · 0 评论 -
设计模式--责任链模式
目录本文的结构如下:引言什么是职责链模式模式的结构典型代码代码示例纯与不纯的职责链模式优点和缺点适用环境模式应用一、引言现在的网络小说套路大概是这样的,小喽啰惹上主角,主角霸气侧漏,打跑了;小喽啰找来门中厉害的亲爹,亲爹上场,过了两招一看打不过,一起跑路;但这口气咽不下,一咬牙找来爷爷(一般是长老或者宗主),宗主那当然厉害了,主角打不过,狼狈逃命,下定功夫苦加修炼又或者奇遇连连,原创 2017-12-07 14:09:57 · 224 阅读 · 0 评论 -
设计模式--代理模式
目录本文的结构如下:引言什么是代理模式模式的结构典型代码代理模式分类代码示例代理模式和装饰者模式的区别静态代理和动态代理的区别优点和缺点适用环境模式应用一、引言说到明星,大家都知道一般明星都有经纪人,很多时候要拍个广告,参加个节目,都不是直接联系明星本人,都是先打电话到经纪人这里,然后再由经纪人转告给某个明星,这里面,经纪人起到了一个代理的作用;还有平常说的租房中介,也替房主原创 2017-11-30 20:53:33 · 601 阅读 · 0 评论 -
设计模式--备忘录模式
目录本文的结构如下:引言什么是备忘录模式模式的结构典型代码代码示例优点和缺点适用环境模式应用一、引言晚上躺在被窝里,突兀的,脑海主动把往事翻出来倒带重播,那些旧时光的画面很清晰,就像投影片一样投在雪白的墙面,回忆着,便思绪万千,下意识发出一声轻叹,哎,看样子要失眠了。有很多遗憾,有很多舍不得,只是怎么也回不去啊,人生又不是一部重生小说,夏洛也只出现在荧幕中。所以说,好好敲代码吧,代原创 2017-12-08 16:30:20 · 258 阅读 · 0 评论 -
设计模式--模板方法模式
目录本文的结构如下:引言什么是模板方法模式模式的结构代码示例优点和缺点适用环境模式应用一、引言读初中的时候,家里没有电脑(话说现在老家也没有电脑),父母又不让玩手机,接触比较多的电子产品就是MP4了,白天可以用来听听歌,晚上躲在被窝里偷偷看小说。但那时MP4又不具备联网下载功能,小说看完了,某个明星出新歌了,就愉快跑到网吧下载,顺便也能玩会游戏,看会视频啥的,那时对网吧还是有很强的执原创 2017-11-15 13:23:01 · 212 阅读 · 0 评论 -
设计模式--工厂方法模式
设计原则:要依赖抽象,不要依赖具体类目录本文的结构如下:什么是工厂方法模式为什么要用该模式模式的结构代码示例优点和缺点适用环境模式应用模式扩展总结一、前言简单工厂模式虽然简单,但存在一个很严重的问题。当系统中需要引入新产品时,由于静态工厂方法通过所传入参数的不同来创建不同的产品,这必定要修改工厂类的源代码,将违背“开闭原则”,如何实现增加新产品而不影响已有代码?工厂方法模式应运而原创 2017-11-01 13:42:29 · 307 阅读 · 0 评论 -
设计模式--装饰者模式
设计原则:少用继承,多用组合类应该对扩展开放,对修改关闭目录本文的结构如下:什么是装饰者模式为什么要用装饰者模式装饰者模式的结构代码示例装饰者模式的优点和缺点装饰者模式的适用环境总结一、什么是装饰模式装饰者模式动态地将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案。和代理模式很相似,但在对被装饰的对象的控制程度是不同的;装饰者模式是对对象功能的加强,而代理原创 2017-10-30 16:47:38 · 273 阅读 · 0 评论 -
设计模式--简单工厂模式
设计原则:要依赖抽象,不要依赖具体类目录本文的结构如下:什么是简单工厂模式为什么要用简单工厂模式简单工厂模式的结构代码示例简单工厂模式的优点和缺点简单工厂模式的适用环境模式应用总结一、前言工厂模式是一个比较复杂的模式,可以分为三类:简单工厂模式工厂方法模式抽象工厂模式准确说,简单工厂模式并不属于GoF 23种设计模式,但在软件开发中应用较为频繁,通常将它作为学习其他工厂模式原创 2017-11-01 09:37:14 · 335 阅读 · 0 评论 -
设计模式--观察者模式
本文的结构如下:什么是观察者模式为什么要用观察者模式观察者模式的结构代码示例观察者模式的推模型和拉模型观察者模式的优点和缺点观察者模式的适用环境观察者模式应用举例总结一、什么是观察者模式观察者模式定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。观察者模式又叫做发布-订阅(Publish/Subscribe)模式、模型-视图(Mod原创 2017-10-17 16:51:28 · 363 阅读 · 0 评论 -
设计模式--抽象工厂模式
设计原则:要依赖抽象,不要依赖具体类目录本文的结构如下:什么是抽象工厂模式为什么要用该模式模式的结构代码示例优点和缺点适用环境模式应用模式扩展总结一、前言工厂方法模式通过引入工厂等级结构,解决了简单工厂模式中工厂类职责太重的问题,但由于工厂方法模式中的每个工厂只生产一类产品,可能会导致系统中存在大量的工厂类,势必会增加系统的开销。此时,我们可以考虑将一些相关的产品组成一个“产品族原创 2017-11-01 17:16:59 · 356 阅读 · 0 评论 -
设计模式--单例模式
目录本文的结构如下:什么是单例模式为什么要用该模式模式的结构代码示例优点和缺点适用环境模式应用总结一、前言对于系统中的某些类来说,只有一个实例很重要,例如,Windows任务管理器。通常情况下,无论我们启动任务管理多少次,Windows系统始终只能弹出一个任务管理器窗口,也就是说在一个Windows系统中,任务管理器存在唯一性。为什么要这样设计呢?其一,如果能弹出多个窗口,且这些窗原创 2017-11-02 11:53:06 · 225 阅读 · 0 评论 -
设计模式--命令模式
目录本文的结构如下:什么是命令模式为什么要用该模式模式的结构代码示例优点和缺点适用环境模式应用总结一、前言在软件设计中,经常需要向某些对象发送请求,但是并不知道请求的接收者是谁,也不知道被请求的操作是哪个,我们只需在程序运行时指定具体的请求接收者即可,此时,可以使用命令模式来进行设计,使得请求发送者与请求接收者消除彼此之间的耦合,让对象之间的调用关系更加灵活。二、什么是命令模式上面原创 2017-11-03 18:54:43 · 289 阅读 · 0 评论 -
设计模式--状态模式
目录本文的结构如下:引言什么是状态模式模式的结构典型代码代码示例状态模式和策略模式的区别优点和缺点适用环境模式应用一、引言要说现在的生活真的是蛮方便的,就拿现在的共享单车来说,下班时间,主要线路都堵爆了,以往只能龟行在车海中,现在只需找一辆单车骑回去,省时还健身。但现在的共享单车基本上都需要先扫码开锁。如果找到一辆单车,但是却坏掉了,会显示等待维修之类的状态,扫不开,也骑不了;然原创 2017-11-29 11:31:47 · 388 阅读 · 0 评论 -
设计模式--适配器模式
目录本文的结构如下:什么是适配器模式为什么要用该模式模式的结构代码示例优点和缺点适用环境模式应用模式扩展总结一、前言适配器其实在我们的生活中是非常常见的,比如说,有的国家的插座都是三孔的,而我们的手机大部分都是两孔的,是没办法直接把充电器插到插座上,这时我们可以使用一个适配器,适配器本身是三孔的,它可以直接插到三孔的插头上,适配器本身可以提供一个两孔的插座,然后我们的手机充电器就原创 2017-11-06 15:19:36 · 298 阅读 · 0 评论 -
设计模式--中介者模式
目录本文的结构如下:引言什么是中介者模式模式的结构典型代码代码示例优点和缺点适用环境模式应用一、引言日常开发是离不开电脑的,这需要cpu、内存、显卡、键盘、显示器等零件相互调用,如果直接让这些零件互相调用,它们之间的关系会很复杂:显然这样造成的后果是难以维护,为了避免这种情况,开发商引入了主板,由主板和各部件进行交互,统一协调,这样每个部件只需要把命令传给主板,由主板决定同哪个部件原创 2017-12-08 09:25:59 · 404 阅读 · 0 评论