• 设计模式---单例模式


    设计模式介绍
    
    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;
            }
        }
    
            
  • 相关阅读:
    pytorch 深度学习之数据操作
    pytorch 深度学习之微积分
    pytorch 深度学习之线性代数
    pytorch 深度学习之自动微分
    [Photoshop] ps中选区新建为图层的快捷键
    [Golang] Goland 编辑器 替换快捷键
    Go 自定义 Json 序列化规则
    MySQL入门篇(六)之mysqldump备份和恢复
    go panic 和 recover(重要)
    如何在 Linux 上模拟和缓解 DDoS 攻
  • 原文地址:https://www.cnblogs.com/lyle-liu/p/12750261.html
Copyright © 2020-2023  润新知