Java设计模式
凛冬降至
这个作者很懒,什么都没留下…
展开
-
单例模式
单例模式简单但重要,主要作用就是保证一个类只能有一个实例对象。 单例模式特点如下:1.必须由类自身来构造实例对象。2.类的构造方法必须私有化。3.对外提供静态方法用于获取实例对象。4.不同的代码写法需要考虑线程安全的问题。 先来看第一种实现方式:public class NoSafeSingleton { private static...2018-03-25 21:24:41 · 111 阅读 · 0 评论 -
代理模式
说起代理模式,我们想到的就是Spring AOP的实现,主要场景有记录日志,事务管理等。而Spring AOP实现代理模式有两种方式,一种是基于接口的JDK动态代理,一种是基于类的CGlib,今天我们要说的就是基于接口的JDK动态代理。主要从两个方面介绍,一个是使用,一个是原理。 JDK的动态代理如何使用呢?比如我们有这样的需求,要统计Service层的各个方法的开始时间,结束时间,...2018-03-25 21:29:39 · 118 阅读 · 0 评论 -
模板方法模式
模板方法模式,一般是为了统一子类的算法实现步骤,所使用的一种手段或方式。它在父类定义一系列的算法步骤,而将具体实现推迟到子类。通常情况下,模板方法模式用于定义构建某个对象的步骤与顺序,或定义一个算法的骨架。通常来说父类定义的步骤和顺序或算法骨架,是不允许子类覆盖的,所以在某些场景中,可以直接将父类提供的骨架方法声明为final类型的。下面模拟构建一个html页面,来应用模板方法模式:...2018-03-26 15:02:58 · 108 阅读 · 0 评论 -
策略模式
策略模式,定义了统一的服务接口,封装了不同的实现,对外提供统一的上下文接口,隐藏具体实现。通俗讲就是:相同的功能,不同的规则、算法实现,就可以用策略模式。比如支付功能,系统提供阿里支付,微信支付,银联支付,都是支付功能,不同的实现接口,下面来模拟一下策略模式的实现。/** * 策略接口定义 */public abstract class PayStrategy { ...2018-03-26 18:16:10 · 100 阅读 · 0 评论