
设计模式
文章平均质量分 78
「已注销」
这个作者很懒,什么都没留下…
展开
-
设计模式(二)装饰者模式
题记明月装饰了你的窗子,你装饰了别人的梦。概述装饰者模式顾名思义,就是用一个对象去装饰另一个对象,通常在程序中会有很多个装饰者对象层层地装饰,从而形成了一个责任链,每个链条上就是一个装饰者对象,它对传递给它的对象进行装饰。在Java的源代码中,装饰者模式可以说是随处可见,最典型的就是java的I/O操作了,如:InputStream in = new LineN原创 2016-10-22 10:03:40 · 375 阅读 · 0 评论 -
设计模式(三)观察者模式
题记 老板:公司效率这么低,这个周末所以人都给我留下来加班。 员工A:蓝瘦 员工B:香菇 ..........概述 观察者模式指的是当某个对象状态发生改变后,其它一大堆对这个对象状态改变感兴趣的对象都会收到相应的通知,以便做出自己的修改。在上例中,员工都是观察者(订阅者),它们观察者老板的一举一动,所以当老板说这个周末全部加班时,所有员工都收到原创 2016-10-22 13:22:27 · 635 阅读 · 0 评论 -
设计模式(一)工厂模式
题记顾客:老板,给我来个对象。 工厂:好嘞。概述常用的工厂模式有3种:简单工厂模式,工厂模式,抽象工厂模式。它们的作用从名字就可以看出:就是制造出对象返回给客户端(即需要对象的地方)。大多数时候我们需要对象时都是直接使用new来创建对象实例的,这样必然造成代码中各个类之前相互依赖(即变量持有具体类的引用),使得代码内部耦合度过高。反应出来的问题就是当某个地方需要修改时,就会修改原创 2016-10-21 15:56:00 · 473 阅读 · 0 评论 -
设计模式(四)策略模式
题记 码农:我到了公司,只需要打卡,上班,领工资就行了, 真好。 经理:我到了公司,只需要上班,领工资就行了,真好。 老板的儿子:我到了公司,只需要领工资就行了,真好。概述 策略模式可以理解为一种通过组合的方式来解耦代码间的关联性,大大的增加系统的弹性和灵活度,提高代码复用率,它是针对滥用继承的一剂良方。为了说明这一点,考虑题记中的情况,如何用继承来把他原创 2016-10-23 10:35:53 · 377 阅读 · 0 评论 -
设计模式(七)适配器模式
题记 如何让一个220V电压的电源为一个只能承受110V电压的电器充电呢?概述 很多时候,当我们拿到第三方提供的程序的时候,发现很多功能都已经做得很好了,但也存在一些地方和我们的系统不兼容。这个时候,第三方程序提供者和我们自己的程序都早已经稳定发版,都不再希望更改。为了能在自己的系统中使用第三方提供的程序,我们就可以自己编写一个适配器程序,把第三方的程序适配成我们希望的原创 2016-11-04 14:28:10 · 472 阅读 · 0 评论 -
设计模式(八)外观模式
题记 码农A:我在做一件大事情,步骤是这样的:买菜,洗菜,切好,烹饪,放调料。 码农B:stop,stop,你直接说你要炒菜不就完了吗。。。概述 为了提高代码利用率,我们一般会把功能封装成一个一个方法,可是当要完成一个功能时,我们需要调用很多个方法时,我们可以在代码中一个一个方法地挨着调用,我们也可以在写一个方法来专门封装这个功能,这个方法就是所谓的外观。原创 2016-11-04 16:51:56 · 519 阅读 · 0 评论 -
设计模式(五)单例模式
题记 深情的告白 老公:老婆,虽然世上有那么多女孩,但你是我心中独一无二的爱人。 (老婆直接一个大嘴巴子抽过去。。。。) 老婆:简单点, 说话的方式简单点,大家都是程序员,你直接说单例模式不就完了吗。概述 在一些情况下,你希望你得到的对象是单例的,即不管什么时候获得该对象,它都只被初始化过一次,该对象状态的改变对全局都是可见的。在上例中,不管老原创 2016-10-27 13:28:15 · 457 阅读 · 0 评论 -
设计模式(六)命令模式
题记 在计算机中,很多时候当你遇到一个棘手的问题时,尝试在中间加一层,或许你的问题就会迎刃而解。概述 有一个控制电灯开关的遥控器,要求它能控制不同厂商生产的电灯,而且不同厂商生产的电灯提供的接口又不同,比如厂商A开关灯函数是lightOn和lightOff,而厂商B开关灯函数是lightStart和lightStop。这个时候你肯定不会像在遥控器的实现代码中先分别判断厂原创 2016-10-29 14:23:10 · 586 阅读 · 0 评论