设计模式依据不同的应用划分为创建型、结构型和行为型三种类型。
下面看看Java开发中,2个常用的设计模式。
装饰器模式应用案例
我们知道 InputStream 是一个抽象类,标准类库中提供了FileInputStream、ByteArrayInputStream 等各种不同的子类,分别从不同角度对InputStream 进行了功能扩展,这是典型的装饰器模式应用案例。
识别装饰器模式,其类构造函数以相同的抽象类或者接口为输入参数。
因为装饰器模式本质上是包装同类型实例,我们对目标对象的调用,往往会通过包装类覆盖过的方法,迂回调用被包装的实例。
单例设计模式
package com.demo.pattern;
/**
* Created by rickie on 2019/1/5.
*/
public class Singleton {
private static volatile Singleton singleton = null;
private Singleton(){
}
public static Singleton getSingleton(){
if(singleton == null) { // 尽量避免重复进入同步块
synchronized (Singleton.class) { // 同步class,意味着对同步类方法调用
if (singleton == null) {
singleton = new Singleton();
}
}
}
return singleton;
}
}
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!