设计模式
文章平均质量分 86
liuhmmjj
对计算机编程很有兴趣
展开
-
Java 单例模式破坏与修复
破坏单例实现单例后,按照预期结果应该所有对象都是同一个对象。但是以下有几种情况可以破坏单例的性质。首先让单例类实现Serializable, Cloneable接口。通过序列化 、反射、克隆这三种方式破坏单例模式import java.io.*;import java.lang.reflect.Constructor;public class WreckSingleton implements Serializable, Cloneable{ private static原创 2020-10-12 11:39:40 · 522 阅读 · 0 评论 -
责任链模式在SpringAOP中的使用
当一个对象在一条链上被多个拦截器拦截处理时,我们这样的设计模式称为责任链模式,它用于一个对象在多个角色中传递的场景.SpringAOP就是利用动态代理和责任链模式实现的,当一个切面有多个织入时,这些需要织入的方法就形成了一个责任链,就像Filter链一样。下面就模拟一下springaop中的责任链:接口:public interface Joinpoint { Ob...原创 2019-12-09 19:05:13 · 6769 阅读 · 0 评论 -
JDK动态代理
什么是动态代理呢?JDK的动态代理,就是在程序运行的过程中,根据被代理的接口来动态生成代理类的class文件,并加载运行的过程。只支持接口的代理。动态代理是通过JDK的Proxy和一个调用处理器InvocationHandler来实现的,通过Proxy来生成代理类实例,而这个代理实例通过调用处理器InvocationHandler接收不同的参数灵活调用真实对象的方法。所以我们需要做的是...原创 2019-12-06 15:47:58 · 5203 阅读 · 0 评论 -
策略模式
1 策略模式定义 策略模式(Strategy):它定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法的变化不会影响到使用算法的客户。 策略模式属于对象的行为模式。其用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。 2 策略模式的原创 2016-09-01 19:32:47 · 9726 阅读 · 0 评论 -
模板方法模式
1.模板方法模式定义: 模板方法模式(Template Method):定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。该模式使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 模板方法模式是类的行为模式。准备一个抽象类,将部分逻辑以具体方法以及具体构造函数的形式实现,然后声明一些抽象方法来迫使子类实现剩余的逻辑。不同的子类可以以不同的方式实现这些抽象方原创 2016-09-01 18:59:22 · 9887 阅读 · 0 评论 -
装饰器模式
装饰模式又名包装(Wrapper)模式。装饰模式以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案。装饰模式的结构 装饰模式以对客户透明的方式动态地给一个对象附加上更多的责任。换言之,客户端并不会觉得对象在装饰前和装饰后有什么不同。装饰模式可以在不使用创造更多子类的情况下,将对象的功能加以扩展。 装饰模式的类图如下: 在装饰模原创 2016-09-14 21:03:58 · 10348 阅读 · 0 评论 -
JAVA设计模式——命令模式
1、命令模式 命令模式:将一个请求封装为一个对象,从而让我们可用不同的请求对客户进行参数化,用于“行为请求者”与“行为实现者”解耦,可实现二者之间的松耦合,以便适应变化。命令模式是一种对象行为型模式,其别名为动作(Action)模式或事务(Transaction)模式。 命令模式可以将请求发送者和接收者完全解耦,发送者与接收者之间没有直接引用关系,发送请求的对象只需要知道如何发...转载 2017-11-21 22:22:57 · 4487 阅读 · 0 评论 -
Java建造者模式
Builder模式定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。Builder模式是一步一步创建一个复杂的对象,它允许用户可以只通过指定复杂对象的类型和内容就可以构建它们。用户不知道内部的具体构建细节。实用范围1、当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时。2、当构造过程必须允许被构造的对象有不同表示时。原创 2017-11-16 22:17:13 · 4068 阅读 · 0 评论 -
JAVA设计模式——享元模式
享元模式 Flyweight在拳击比赛中指最轻量级,即“蝇量级”或“雨量级”,这里选择使用“享元模式”的意译,是因为这样更能反映模式的用意。享元模式是对象的结构模式。享元模式以共享的方式高效地支持大量的细粒度对象。 也就是说在一个系统中如果有多个相同的对象,那么只共享一份就可以了,不必每个都去实例化一个对象,比如说一个文本系统,每个字母定一个对象,那么大小写字母一共就是52个,那么就要定义原创 2017-12-02 11:17:46 · 4247 阅读 · 0 评论