• 单例设计模式(创建型模式)


    单例设计模式解决的就是对象在程序中是唯一的(对象开辟的空间只有一个)

    单例模式场景

       A找老师解决问题时,学生B无法让解决问题,B能等待老师解决完学生A问题后,再帮助学生B解决问题(在这个场景,只有一个老师对象)

    单例设计模的代码体现

    前讲解决单例设计模式时,单例是用来解决创建的对象只能有一个(一性)

    怎么保证创建的对象是唯一的呢?

       问题1java只要使用new就会创建对象,就可创建多个对象怎么创建一个对象

              反向思考:只要new个类,就会出现多个对象。不使用new不会出现对象了

       问题2: 不让使用new创建对象了,那么对象怎么出现呢?少还需一个对象

                 本类中创建属于本类自己的对象(出现了一个对象)

       问题3: 本类中的对象是创建出来的了,但是只能本类中使用,那么其它类也需要使用,这时怎么办?

                  封装:私有化成员变量,对外提供公开的访问方法

                  对外提供可以访问对象的方法

              

     基于以上三点分析,实现程序中代码的书写:

      问题1: 不让其它类创建对象了,怎么实现?

                 有化构造方法

      问题2: 其它类不创建对象了,么这个对象怎么出现?

                 本类中创建一个本类自己的对象

      问题3: 其它类怎么访问这个创建出来的本类对象?

                 外提供public 方法

    代码的体现:

    单例设计模式存在的小问题

    之前,书写的程序中,存在了一问题  直接访问对象

    解决方案:把创建的本类对象私有化

    解决方案:把创建的本类对象私有化

    单例设计模式另一种体现

    单例设计模式有两种写法:饿汉式懒汉式

    案例懒汉式单例模式

     

    注意:在以后面试中或发开中使用懒汉比较多

  • 相关阅读:
    Linux 安装apache2时候遇到的问题
    ubuntu安装php时出现error: xml2config not found. Please check your libxml2 installation 的解决办法
    Linux一块网卡绑定2个IP地址
    php 满足条件后跳转的几种方法.
    Linux 安装php 遇到 libtool: link: `ext/date/php_date.lo' is not a valid libtool object
    js 光标移动到输入框最后位置函数
    Linux iptables 防火墙相关命令介绍及使用
    tcpdump的简单选项介绍
    子网掩码转换函数
    Linux 十六进制转换十进制的函数
  • 原文地址:https://www.cnblogs.com/edison20161121/p/6115526.html
Copyright © 2020-2023  润新知