`
lanqiu17
  • 浏览: 17781 次
社区版块
存档分类
最新评论

重学单例模式

阅读更多
最近在重新学习设计模式,感觉对模式理解更加深刻。觉得有必要记下来。 
	第一个学的就是单例模式,单例模式估计是最好理解的模式了。它的作用就是防止外部创建实例,保证只有一个实例。
	单例模式的常用实现方式有两种,就人们熟知的饱汉式与饥汉式,具体就不多说了。这里说下其他的实现方式
	静态内部类方式:
package test.pattern.singleton.statics;

public class Singleton {

	//静态内部类保证唯一性
	private static class Inst {
		private static Singleton instance = new Singleton();
	}
	
	public static Singleton instance() {
		return Inst.instance;
	}
	
	private Singleton() {}
	
	public void print() {
		System.out.println("hello world");
	}
}

  枚举实现方式:
package test.pattern.singleton.enums;

public enum SingletonEnum {
    instance; //唯一的实例
	
	private SingletonEnum() {}
	
	public void print() {
		System.out.println("hello world");
	}
}

 
 测试:
package test.pattern.singleton.enums;

import org.junit.Test;

import test.pattern.singleton.statics.Singleton;

public class TestSingle {

	
	
	@Test
	public void testStaticSingle() {
		Singleton single = Singleton.instance();
		single.print();
	}
	
	@Test
	public void testEnumSingle() {
		SingletonEnum.instance.print();
	}
}

 

分享到:
评论

相关推荐

    设计模式单例模式和工厂模式综合应用

    "设计模式单例模式和工厂模式综合应用"的主题聚焦于两种常用的设计模式:单例模式和工厂模式,并探讨它们如何协同工作来实现高效、灵活的代码结构。这个主题尤其适用于Java编程语言,因为Java的面向对象特性使得设计...

    设计模式之单例模式(结合工厂模式)

    单例模式是软件设计模式中的一种经典模式,它保证了类只有一个实例存在,并提供一个全局访问点。在Java等面向对象编程语言中,单例模式常用于管理共享资源,如数据库连接池、线程池或者配置文件等。结合工厂模式,...

    java单例模式实例

    单例模式是软件设计模式中的一种经典模式,用于确保一个类只有一个实例,并提供一个全局访问点。在Java中,有多种实现单例模式的方法,每种都有其特点和适用场景。接下来,我们将深入探讨这些实现方式。 首先,我们...

    设计模式C++学习之单例模式(Singleton)

    单例模式是软件设计模式中的一种,它保证一个类只有一个实例,并提供一个全局访问点。在C++中,实现单例模式有多种方法,我们将会深入探讨这一模式的原理、优缺点以及如何在实际编程中应用。 单例模式的核心在于...

    单例模式,single

    ### 单例模式详解 #### 概述与应用场景 单例模式是一种常用的设计模式,它的主要目的是确保某个类仅有一个实例,并提供一个全局访问点。这种模式非常适合那些在整个应用程序生命周期中只需要一个实例的对象,例如...

    设计模式 中的 单例模式和观察者模式

    在给定的标题和描述中,我们关注的是两种重要的设计模式:单例模式和观察者模式。 首先,让我们深入了解单例模式。单例模式是一种确保一个类只有一个实例,并提供全局访问点的设计模式。这种模式在资源管理、缓存、...

    设计模式单例模式PPT学习教案.pptx

    设计模式单例模式学习教案 单例模式概述 单例模式是设计模式中的一种,用于确保一个类只有一个实例,并提供一个全局访问点来访问这个唯一实例。这种模式对对象的创建和访问进行了限制,以确保系统中只有一个实例...

    单例模式(用winform写的)

    单例模式是软件设计模式中的一种,用于控制类的实例化过程,确保一个类在整个程序运行期间只有一个实例存在。在C#中,特别是在Winform应用中,单例模式经常被用来管理共享资源或者全局设置,以提高性能和避免资源...

    单例模式源代码

    单例模式是软件设计模式中的一种经典模式,它在Java编程中被广泛使用。这个模式的主要目的是确保一个类只有一个实例,并提供一个全局访问点。这样做的好处包括资源管理(如数据库连接)、性能优化(如缓存服务)以及...

    java 设计模式 mvc模式 单例模式 代理 工厂 简单工厂 第二部分

    本篇将深入探讨标题中提及的几种设计模式:Model-View-Controller(MVC)模式、单例模式、代理模式以及工厂模式,尤其是简单工厂模式。 **1. Model-View-Controller (MVC) 模式** MVC模式是一种架构模式,它将应用...

    Qt单例模式MySQL连接池.rar

    本资源"Qt单例模式MySQL连接池.rar"提供了一个使用Qt框架并结合C++单例模式实现的MySQL数据库连接池模板,旨在优化Qt数据库开发的效率。 首先,我们来理解一下“单例模式”。单例模式是一种设计模式,它确保一个类...

    最简单的单例模式源码

    单例模式是软件设计模式中的一种基础且常用模式,它保证了类只有一个实例,并提供一个全局访问点。这种模式在需要频繁创建和销毁对象,或者对象创建代价较大,且需要全局共享状态时尤为适用。接下来,我们将深入探讨...

    单例模式与装饰着模式.md

    通过学习java 简单总结单例模式与装饰者模式,做一下入门总结,主要讲述单例模式中饿汉式与懒汉式的相同点与不同点,方便理解记忆。

    经典工厂单例模式典范

    在软件设计模式的世界里,"工厂单例模式典范"是一个重要的概念,它结合了工厂模式和单例模式的优势,以解决特定的编程问题。工厂模式是一种创建型设计模式,而单例模式则是一种结构型设计模式。这两种模式的结合使得...

    适合初学者的音频播放器代码C#单例模式设计

    在这个项目中,“适合初学者的音频播放器代码C#单例模式设计”为学习者提供了一个很好的起点,它通过实际的应用场景来讲解单例模式。 单例模式是设计模式的一种,它的核心思想是确保一个类只有一个实例,并提供全局...

    简单工厂,代理模式,单例模式demo

    在众多设计模式中,“简单工厂”、“代理模式”和“单例模式”是三种常见的设计模式,它们各自有着明确的使用场景和设计目标。 首先,“简单工厂模式”是一种创建型模式,它定义了一个创建对象的接口,但让决定创建...

    JAVA单例模式的登录案例

    根据给定的信息,我们可以深入探讨Java单例模式的登录案例,并从中提炼出多个重要的知识点。 ### 单例模式概述 单例模式是一种常用的软件设计模式,它保证一个类只有一个实例,并提供一个全局访问点。这种模式通常...

    IOS单例模式Demo

    单例模式是软件设计模式中的一种,它保证一个类只有一个实例,并提供一个全局访问点。在iOS开发中,单例模式被广泛应用于管理共享资源、配置设置或者在整个应用程序生命周期内需要持续存在的对象,如网络请求管理者...

    单例模式(Singleton)的6种实现

    单例模式(Singleton)是设计模式中最简单也是最有争议的一个模式。它主要解决的问题是确保一个类仅有一个实例,并提供一个全局访问点。单例模式适用于那些需要全局访问的场景,比如线程池、缓存、配置对象等。单例...

Global site tag (gtag.js) - Google Analytics