最近在重新学习设计模式,感觉对模式理解更加深刻。觉得有必要记下来。
第一个学的就是单例模式,单例模式估计是最好理解的模式了。它的作用就是防止外部创建实例,保证只有一个实例。
单例模式的常用实现方式有两种,就人们熟知的饱汉式与饥汉式,具体就不多说了。这里说下其他的实现方式
静态内部类方式:
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();
}
}
分享到:
相关推荐
设计模式C++学习之单例模式(Singleton)
单例模式的七种实现方法以及分析,可以作文大作业提交 1.前言 4 1.1 课题的研究背景 4 1.2 课题主要研究目标 4 2.相关技术简介 4 2.1Java简介 4 2.2IDEA简介 4 3. 单例模式的7种实现方式 5 3.1饿汉式(使用静态常量...
设计模式-单例模式 学习时候联系的代码,可以进行参考
单例模式是个简单的java模式之一!有助于为学习后面的22种模式打下基础!
通过学习java 简单总结单例模式与装饰者模式,做一下入门总结,主要讲述单例模式中饿汉式与懒汉式的相同点与不同点,方便理解记忆。
单例模式,顾名思义,只有一个实例,因此这种模式只有在真正的需求“单一实例”的时候使用。它提供一种方法来确保某一特定类型有且只有一个实例。而且自行实例化,并向外部提供这个单一实例。 在它核心结构中,只...
引入了单例模式来保证在全局调用中不会重复实例化这个类,降低系统资源的浪费,一个对象(在学习设计模式之前,需要比较了解面向对象思想)只负责一个特定的任务。 php的应用主要在于数据库应用, 所以一个应用中会...
Java单例模式代码,可能对初学者有用,贡献出来,也方便自己学习
java设计模式,单例模式学习示例源码,创建单例,配置文件读取
简单MVC模式结构,php,包括ajax,单例模式,适合php初级开发者学习 如有问题,
设计模式单例模式PPT学习教案.pptx
demo python使用装饰器(Decorator)的方式实现单例模式 functools.wraps 则可以将原函数对象的指定属性复制给包装函数对象, 默认有 __module__、__name__、__doc__,或者通过参数选择
C#设计模式学习与演变过程-2-单例模式,通过代码的演变过程系统地学习单例模式,代码包括:简单单例、加锁单例、双检单例、饿汉式单例。
最近在学习多线程相关知识,同时加深了对单例的理解,从并发的角度学习到了不同的单列模式,提供出来供大家一起学习
C++进阶学习:单例模式的实现示例代码,相关教程链接如下: http://blog.csdn.net/tennysonsky/article/details/48809541
Unity单例模式模板类,以供学习,有两个: 一个单纯的Singleton 一个MonoSingleton,继承于MonoBehaviour
第 单例模式PPT学习教案.pptx
C#单例模式的讲解视频,内容很好是学习编程模式的好资料。
单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 学习demo
自己总结的6中单例模式的写法,也有测试类,可以试验下,自己稍微修改一下后,验证安全性,纯粹为学习,建议可提