设计模式
文章平均质量分 68
summerZBH123
这个作者很懒,什么都没留下…
展开
-
设计模式——命令模式(附框架源码实现)
命令模式,其为了达到动作的请求者从动作的执行者当中进行解耦命令模式当中关系结构图Command: 定义命令的接口,以及执行命令的抽象方法ConcreteCommand: 命令的接口的实现对象,这个对象当中通常都持有一个接收者,调用接收者的功能来执行命令Receiver: 接收者,真正执行命令的对象,注意这个地方在ConcreteCommand当中很有可...原创 2018-07-30 21:42:21 · 628 阅读 · 0 评论 -
设计模式——装饰器模式(附java源码案例)
装饰器模式,其实又叫做包装模式,其主要作用就是将附加的功能添加到别的类当中,让这个类实现其包含的类的方法,在具体的调用时,就会按照包装顺序进行调用。Compoent 提供一个统一接口,是装饰类和被装饰类的基础类ConcreteComponent 具体的实现类,对于接口当中的方式进行实现Decorator 继承了Componet接口,同时包含了一个Compon...原创 2018-07-30 21:43:10 · 901 阅读 · 0 评论 -
设计模式——观察者模式
观察者模式主要是建立对象之间的一对多关系,当其中一方发生变化时,通知多个对应的对象,而具体什么时候去通知,这个就由具体的子类来实现。 下图当中给出的是观察者模式之间的结构关系图Subject 被观察的对象的抽象接口,其中包括需要通知观察者的集合,同时也提供了,添加观察者和移除观察者方法,以及通知所有的观察者的方法。ConcreteSubject 具体的被...原创 2018-07-30 21:43:30 · 212 阅读 · 0 评论 -
设计模式——状态模式
状态模式的设计实现主要是用来解决,不同状态下的不同用户行为,一般情况下,我们的处理方式是,根据状态不同,调用不同的方法,而状态模式的解决办法是,在某个对象当中持有一个状态对象的接口,当状态条件不同时,执行不同的具体的接口实现方法。 这样说可能还是比较抽象,举个例子,一个水桶,其状态可以分为三种,一种是水桶满的状态,还有一种是半桶状态,第三种是空桶状态,对于不同的状态下,我们能执行...原创 2018-07-31 21:35:49 · 274 阅读 · 0 评论 -
设计模式——代理模式之动态代理源码分析JDK1.8(一)
代理模式其本质是,对于需要调用的方法,在其原由逻辑上进行修改,或者说是在原有方法的基础上前后都加上log日志,或者是对原有方法的结果进行二次处理等等。其结构图如下Subject 目标接口,定义RealSubject和Proxy的共同接口,RealSubject 具体的实现接口类,实现目标接口的功能Proxy 调用具体的实现接口类,并在具体实现...原创 2018-07-31 21:36:19 · 576 阅读 · 0 评论 -
设计模式——代理模式之CGLib实现分析JDK1.8(二)
上篇博客介绍了JDK当中提供的动态代理实现方式,这篇主要是来介绍,通过CGLib工具实现的动态代理。首先在maven项目当中添加jar包依赖 <dependency> <groupId>cglib</groupId> <artifactId>cglib</artifactId> ...原创 2018-07-31 21:36:45 · 329 阅读 · 0 评论 -
设计模式——单例模式
关于单例模式,主要是为了一个类每次在使用它的实例时,都是同一个实例对象。单例模式一public class MySingleton { private static MySingleton instance = new MySingleton(); private MySingleton(){} public ...原创 2018-07-30 21:42:37 · 175 阅读 · 0 评论