
设计模式学习
HJsir
当你凝视深渊时,深渊也在凝视你
展开
-
设计模式之Builder模式总结
大家在没有接触builder模式之前,简单总结,超易入门理解原创 2018-05-09 18:14:31 · 345 阅读 · 0 评论 -
设计模式之观察者模式总结
快速引入观察者模式又名订阅模式,使用率非常高,以至于JDK都内置了实现观察模式所用到的Observer和Observable,这个模式中有两个角色,一个是观察者,一个是被观察者。拿学校中的广播来说,广播发送者是被观察者,而你是观察者,发送一条广播,所有观察者都会知道。实现就拿上面的学校广播,我们来实现一个简单的观察者模式的例子。 例子中用到的Observer和Observable请查...原创 2018-05-14 14:18:15 · 320 阅读 · 0 评论 -
设计模式之命令模式总结
快速切入命令模式,顾名思义是对命令的封装,其实也就是一个个行为,同属于行为模式中你的一种,我们平时处理一个命令是这样的,将各种命令写入一个类中,然后客户端直接调用即可。这样的话其实一个类就职责不明,干了很多事,代码也非常多,维护困难。如果用命令模式的话会被分解成这样:请求者(调用命令执行操作)类,然后是命令(定义所有的具体命令及其实现)类,最后是接收者(接收请求并执行请求)类,这样分成三步它的...原创 2018-05-13 17:10:40 · 301 阅读 · 0 评论 -
设计模式之责任链模式总结
快速引入责任链模式,首先肯定是一条链,然后链上每个节点都有他的责任,任务在链上传递,假设从第一个开始传递,传递到下一个时候如果他有责任处理这个事情就处理,没责任,或者不能处理就传递下去,依次这样。直到传到最后一个或者事情被处理完。这个非常好理解,跟日常公司中报销一样,如果你要报销5w,如果你的直接领导没权限报5w,就会转交给经理,经理没有就转给总经理,总经理没有就转到老板,然后批复。实...原创 2018-05-13 13:49:21 · 574 阅读 · 2 评论 -
设计模式之状态模式总结
快速解释定义是这么写的,当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。仔细揣摩这段定义,可以得出这么些细节,能使用状态模式的首先得有状态,有行为,而且状态不同,行为也不同,状态是可以改变的。老方法,我们举例说明,比如我们人,有生病和健康两种状态,在生病状态的时候我们除了卧床休息啥也干不了,行为可以是治疗。在健康的时候,我们可以有的行为可以是工作,学习等。但我们健康的时...原创 2018-05-12 18:28:36 · 320 阅读 · 0 评论 -
设计模式之策略模式总结
快速引入在做项目中经常会遇到,实现某一个功能有多种算法或者策略,我们可以根据应用场景的不同选择不同的算法或者策略来完成该功能。比如我对一个数组排序,有时候想用冒泡排,有时候想用快排排序,那么这个排序功能就有多种算法和策略。如果没学习此设计模式之前我们可能会这么实现,把所有的算法写进一个类中,然后在类中判断使用什么方法,例如使用if else 或者其他条件判断语句来进行选择,但是这种方法会让类变...原创 2018-05-12 15:05:24 · 351 阅读 · 0 评论 -
设计模式之工厂方法模式总结
名词快速解释如果我们做某件事,把他交给另外一个人做完,而我只要得到答案即可,并不想知道过程,而且有可能这些事的细节不同,但是总归是一类事,你都得给我完成。就好像你是个土豪,去买车,我今年想要定制版的林肯加长,你造车厂给我造好就行了,明年又想要兰博基尼,你工厂又给我弄好就行了,我也不想知道你怎么弄好的,虽然我要的车都是不同的,但是你都得给我处理好。这个时候工厂可能就忙不过来了,就会把业务线发给旗...原创 2018-05-11 21:31:00 · 332 阅读 · 0 评论 -
设计模式之原型模式总结
其实原型模式说白了就是克隆,用于创建重复的对象,同时又能保证性能。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式是实现了一个原型接口,该接口用于创建当前对象的克隆。为什么能保证性能?是因为,原型模式是在内存中的二进制流的拷贝要比直接new好,特别是要在一个很大的循环体中产生大量对象的时候,你觉得是直接复制好,还是执行一次循环再获取一次要来的快?答案显而易见。但原创 2018-05-10 16:08:24 · 512 阅读 · 0 评论 -
设计模式之单例模式总结
饿汉模式 懒汉模式DCL模式静态内部类单例模式等简单解析原创 2018-05-08 22:18:22 · 236 阅读 · 0 评论 -
设计模式之代理模式总结
代理模式目前我已知的实现有三种:静态代理、动态代理、Cglib代理,只对常用的前两种做一个总结,后面那种了解下,用的不多。定义代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能. 这里使用到编程中的一个思想:不要随意去修改别人已经写好的代码或者方法,如果需改...原创 2018-05-21 10:55:20 · 333 阅读 · 0 评论