设计模式概述
设计模式是一套被广泛接受的、经过试验的、可反复使用的基于面向对象的软件设计经验总结,它是开发人员在软件设计时,对常见问题的解决方案的总结和抽象。
一句话就是,设计模式是针对软件开发中常见问题和模式的通用解决方案。
设计模式有哪些
GoF设计模式的分类
- 创建型:解决对象的创建问题
- 结构型:通过设计和构建对象之间的关系,以达到更好的重用性、扩展性和灵活性
- 行为型:主要用于处理对象之间的算法和责任分配
单例模式singleton
单例模式属于创建型的设计模式
饿汉式单例模式
如何实现饿汉式单例模式?
- 构造方法私有化
- 对外提供公开的静态方法,获取实例
- 定义一个静态变量,接收类的实例化对象。静态变量在类加载时初始化,只执行一次,从而达到只创建一个实例的目的。
由于饿汉式单例模式,在类加载时就创建出来对象,无论用于不用对象都创建出来了,称为饿汉单例模式。
java">public class Singleton {// 定义一个静态变量private static s = new Singleton()// 构造方法私有化,不让外界使用构造方法创建对象private Singleton(){}// 提供一个公开的获取实例静态方法//一定要是静态的,不需要new对象,通过类名就能访问public static Singleton getSingleton() {return s;}
}
懒汉式单例模式
如何实现饿汉式单例模式?
- 构造方法私有化
- 对外提供公开的静态方法,获取实例
- 提供一个静态变量,但是这个变量值为null;
java">public class Singleton {// 定义一个值为null的静态变量private static s = null;// 构造方法私有化,不让外界使用构造方法创建对象private Singleton(){}// 提供一个公开的获取实例静态方法//一定要是静态的,不需要new对象,通过类名就能访问public static Singleton getSingleton() {// s没有的时候再去创建if(s == null){s= new Singleton(); }return s;}
}
注:本文章源于学习动力节点老杜
的java教程视频后的笔记整理,方便自己复习的同时,也希望能给csdn的朋友们提供一点帮助。