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