zoukankan      html  css  js  c++  java
  • 单例模式

      在软件设计中,有时确实存在一个类仅能用来产生一个唯一对象的必要性。例如在Windows系统中,

    应该只有一个文件系统与一个文件视图管理系统(Window Manager)。

      有两种方法可以确保一个类只有一个实例。

      1、程序员在应用程序中使用代码保证仅有一个实例被创建。

      2、不依靠应用程序员,精心设计仅有一个实例的类,由该类本身的结构确保其仅能够被创建一个实例。

      这就是单例模式

    单例模式指的是确保一个类仅有一个唯一的实例,并且提供一个全局的访问点。

    单例模式是将一个需要生成唯一对象的类设计成单例类,从而使得调用者仅仅能获得唯一的实例。

    实现单例模式关键在三点:

      1、设置构造方法私有,避免客户程序利用该构造方法创建不同的对象。

      2、提供一个静态变量存放类的唯一实例。

      3、提供一个获得实例的方法,静态方法。

     注意:

      如果涉及到多线程,可以使用Java语言中的同步(Synchronized)机制,将方法getInstance()置于同步机制的保护下。

    单例模式实现案例(单线程):

    public class President{
        private static President instance;
        private String name;
        private President(String name){
            this.name = name;
        }
        
        public static President getInstatnce(String name){
            if(instance==null&&!name.equals(null)){
                instance = new President("张三");
            }
            return instance;
        }
    }

    单例模式详细分析参考:

    https://blog.csdn.net/jason0539/article/details/23297037/

  • 相关阅读:
    js键盘事件以及键盘事件拦截
    JavaScript 延迟加载
    二叉树深度优先 求二叉树最大深度
    css 小知识点:inline/inline-block/line-height
    es6 set
    CSS 水平垂直居中
    js 位运算符
    js 函数重载
    js之单例模式
    js 面向对象 ES5 AND ES6
  • 原文地址:https://www.cnblogs.com/leilong/p/9118684.html
Copyright © 2011-2022 走看看