设计模式

. 设计模式类型

一. 设计模式类型

A.创建型模式:

  • 单例模式
  • 工厂模式
  • 抽象工厂模式
  • 建造者模式
  • 原型模式

B.结构型模式:

  • 适配器模式
  • 桥接模式
  • 装饰模式
  • 组合模式
  • 外观模式
  • 享元模式
  • 代理模式

C.行为型模式

  • 模版方法模式
  • 命令模式
  • 迭代器模式
  • 观察者模式
  • 中介模式
  • 备忘录模式
  • 解释器模式
  • 状态模式
  • 策略模式
  • 责任链模式
  • 访问者模式

二. 创建型模式

1. 单例模式

核心作用:保证一个类只有一个实例,并且提供一个访问该实例的全局访问点;

常见应用场景:配置文件读取;数据库连接池;spring中bean模式单例;

单例模式优点:由于单例模式只生成一个实例,减少了系统的性能开销,当一个对象的产生需要比较多的资源时,如读取配置、产生其他依赖对象时,则可以通过在应用启动时直接产生一个单例对象,然后永久驻留内存解决

1.1 常见的5种单例模式实现方式

–主要:

  • 饿汉式(线程安全,调用效率高;但是不能延时加载)
  • 懒汉式(线程安全,调用效率不高;但是可以延时加载)

–其他:

  • 双重检测锁式(由于jvm底层内部模型原因,偶尔会出现问题,不建议使用)
  • 静态内部类式(线程安全,调用效率高,可以延时加载)
  • 枚举单例(线程安全,调用效率高,不能延时加载)

1.2 饿汉式

要点:单例对象立刻加载

public class Singleton{
    private static Singleton instance=new Singleton();
    private Singleton(){}
    public static Singleton newInstacne(){
        return instance;
    }
}

1.3 懒汉式

1.4 双重锁检测式(不建议使用)

1.5 静态内部类式

1.6 枚举单例


   转载规则


《设计模式》 keyj 采用 知识共享署名 4.0 国际许可协议 进行许可。
 上一篇
CDN CDN
1. 使用CND实现应用的缓存和加速1.1 CND简介CDN的全称是Content Delivery Network,即内容分发网络。 CDN是构建在网络之上的内容分发网络; CDN使用户就近获取所需内容,降低网络堵塞,提供用户访问响应速
2019-07-11 keyj
下一篇 
redis环境搭建 redis环境搭建
1. 单机环境搭建1.1基础环境vmware、centos7 1.2下载redis安装传统方法安装: https://redis.io/ wget http://download.redis.io/releases/redis-5.0.
2019-07-08 keyj
  目录