1.设计模式-单例模式

一.设计模式概念

是一套被反复使用、被多数人知晓的、经过分类的代码设计经验的总结。其目的是为了提高代码的可重用性,让代码更容易被他人理解,保证代码的可靠性。常见的设计模式有:单列模式、适配器模式、工厂模式、代理模式等等。

二.单列模式

1.概念

单列模式是一种保证系统中只有一个类只有一个实例,并且该实例易于被外界访问的设计模式。

2.适用场景

适用于有且只需要一个对象的场景,如配置文件,工具类,线程池,缓存、日志对象等等。

三.单列模式类型

单列模式有饿汉模式、懒汉模式和双重锁模式

1.饿汉模式

使用类静态成员获取实例,由于是静态成员,随之类的加载而加载,不管用不用,都会加载下来,所以形象的称为饿汉模式。

2.饿汉模式实现步骤

(1).将默认构造函数改为私有的构造函数,确保外界不能通过构造函数直接实例化类,这是保证类的实例化只有一个的前提。

(2).创建一个私有的静态类成员变量,并且利用(1)中的私有构造函数为其实例化,获得实例化变量,由于是静态的变量,该实例化有且只有一个;为了属性安全,利用private修饰,并且在步骤(3)将其封装。

(3).封装(2)中的属性,利用public保证外界能够访问,利用static使其变成类的成员方法,能够通过类名直接访问,而无需实例化。

3.饿汉模式实现java实现代码

”’java
package com.hfutwjw.pattern;
/**
* 单列模式之饿汉模式:通过静态方法实例化类,保证类只有一个实例对象,并且能被外界访问。
* 静态方法在类加载的时候就被加载,不管用不用,都能被加载,所以称为单例模式。
* 实现步骤:
* 1.创建一个私有构造函数,确保外界不能通过构造函数方法随意获得实例,这是保证实例化对象只有一个的第一步
* 2.创建一个私有的静态类变量,该变量通过1中的私有构造函数实例化,此时获得唯一(静态)的实例化对象,但由于是私有的,不能被外界访问。
* 3.封装2中的私有静态变量,使得外界能够访问实例化对象。
* @author Administrator
* 2016.1.16
*/
public class Singleton {
/**
* 实现步骤1,创建私有的构造函数,不允许外部类通过构造函数实例化
*/
private Singleton(){

}

/**
 * 实现步骤2,创建一个私有的静态类变量,并利用构造函数为其赋值,为了安全,还需要将此属性封装
 */
private static Singleton instance = new Singleton();

/**
 * 封装步骤2中的变量,使用public使得外界可以访问,使用static让该方法变成类成员,可以通过类名直接访问
 */
public static Singleton getInstance(){
    return instance;
}

}

”’

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值