设计模式---单例模式

设计模式介绍

1.什么是设计模式?

    设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式
是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 设计模式使代码编制真正工程化,设计模式是软件工程的基石,
如同大厦的一块块砖石一样。项目中合理的运用设计模式可以完美的解决很多问题,每种模式在现在中都有相应的原理来与之对应,
每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的核心解决方案,这也是它能被广泛应用的原因。简单说:
设计模式就是在某些场景下,针对某类问题的某种通用的解决方案。

2.单例设计模式?
    
    单例(Singleton)模式的定义:指一个类只有一个实例,且该类能自行创建这个实例的一种模式。
    
    应用场景:如果某个类创建比较麻烦,可以使用单例设计模式先创建好;
        例如:多线程的线程池、数据库的连接池、系统中的缓存等;
    
    单例模式有 3 个特点:
        单例类只有一个实例对象;
        该单例对象必须由单例类自行创建;
        单例类对外提供一个访问该单例的全局访问点;

3.单例设计模式的实现:
    单例设计模式有两种方式:饿汉式和懒汉式;
    饿汉式:
        1.私有构造方法;
        2.创建对象;
        3.提供对外的访问方式,便于外界获取对象;
    
    代码演示:
        public class SingleTon1 {

            //私有构造方法,不让其他人创建对象
            private SingleTon1(){

            }
            //创建对象
            private static final SingleTon1 instance = new SingleTon1();

            //对外暴露方法,便于获取对象
            public static SingleTon1 getInstance(){
                return instance;
            }
        }
        
    懒汉式:
        1.私有构造方法;
        2.声明类的静态对象;
        3.提供对外的同步方法访问方式;
        
    public class Singleton2 {
    //私有构造方法
        private Singleton2(){

        }
        private static Singleton2 instance;//声明静态的类对象

        public static  synchronized Singleton2 getInstance(){
            if (instance == null) {
                instance = new Singleton2();
            }
            return instance;
        }
    }

        

 

posted @ 2020-04-22 10:21  moonlighter  阅读(123)  评论(0编辑  收藏  举报