欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

单例模式(懒汉与饿汉)

程序员文章站 2022-07-14 09:39:38
...

单例模式

    设计模式(Design Pattern)是前辈们对代码开发经验的总结,是解决特定问题的一系列套路。它不是语法规定,而是一套用来提高代码可复用性、可维护性、可读性、稳健性以及安全性的解决方案。


设计模式
    根据模式是用来完成什么工作来划分,这种方式可分为创建型模式、结构型模式和行为型模式 3 种。
    1.创建型模式:用于描述“怎样创建对象”,它的主要特点是“将对象的创建与使用分离”。GoF 中提供了单例、原型、工厂方法、抽象工厂、建造者等 5 种创建型模式。
    2.结构型模式:用于描述如何将类或对象按某种布局组成更大的结构,GoF 中提供了代理、适配器、桥接、装饰、外观、享元、组合等 7 种结构型模式。
    3.行为型模式:用于描述类或对象之间怎样相互协作共同完成单个对象都无法单独完成的任务,以及怎样分配职责。GoF 中提供了模板方法、策略、命令、职责链、状态、观察者、中介者、迭代器、访问者、备忘录、解释器等 11 种行为型模式。


    本期着重讲的是单例模式中的懒汉模式和饿汉模式。


    由于单例模式的核心是确保一个对象,则把类的构造方法的访问修饰符设置成private,其懒汉顾名思义,先声明对象 等确认要调用的时候 再创建对象。

public class singleten {
        private  static singleten c = null;  //懒汉先赋初值为null
        private singleten()                  //私有的构造方法
        {
        }
        public  static singleten  getInstanceof()   //提供方式获取
        {
            if(c == null) {
                c = new singleten();
            }
            return c;
        }
    }




饿汉模式,顾名思义就是很饿,不管需不需要调用都先创建对象。

package singleten;

public class hungry_singleten {
    //饿汉 一来来就把对象创建了
    private static final hungry_singleten hungry = new hungry_singleten();   //创建对象
    private hungry_singleten()  {        //私有化构造方法

    }
    public hungry_singleten get_instance() {  //获取值
        return hungry;
    }
}