Java-设计模式
1 概述
代表了最佳的实现方式,是一些有经验的开发人员,通过开发中总结出来的一些经验和错误,用来解决一系列问题
就是在编码实践中发现有很多的编码方式经常会被用到,于是就总结出来,形成固定的结构
2 单例模式
2.1 概述
让某个类只能被实例化一次对象
在某些需要多次初始化同一个对象的应用中,为了保证初始化对象只有一个,以达到节约内存的目的
2.2 目的
实例化多次,得到同一个对象,让某个类只能被实例化一次
2.3 思路
既然要控制创建对象的数量,也就意味着这个对象的创建权利不能交到用户手中
需要让用户无法创建对象才行,而创建对象需要用构造方法.所以我们只需要把构造方法私有化,让用户无法访问就行了
结论:
1 构造方法先私有化
2 创建一个公共的静态方法,原来获取当前类的对象
自己创建一个对象,并且提供一个获取该对象的方法(因为该方法是用 来获取对象的,所以必须定义为静态方法)
3 创建一个静态变量用来存储当前类的对象
如果以字面方式返回对象,则该对象不能重复使用,每次都是一个新的 对象,所以想要对一个数据重复使用,必须先存储该数据(变量)
局部变量: 具有临时性,方法执行完就结束,而我们要做的就是多次执行 该方法,值不变,所以局部变量不合适
成员变量: 保存数据没有问题,而且也是长期存储,但是不能出现在静态 环境中
所以必须是静态变量
2.4 单例模式
根据创建对象的时机不同,可分为两类:饿汉模式和懒汉模式
2.4.1 饿汉模式
在类加载阶段就创建对象的叫做饿汉模式
2.4.2 懒汉模式
在第一次使用的时候才创建对象的叫做懒汉模式
3 工厂模式
3.1 概述
定义一个用于创建产品的接口,由子类决定生产什么产品
把创建对象的语句单独封装成一个工厂模式
这样的话所有用到这个对象的地方,统统都去工厂中获取