我们应该知道,C++中有21种设计模式,常见的有单例模式、迭代器模式、工厂模式、抽象工厂模式、观察者模式。今天我们先来说一下单例模式。
单例模式(Singleton)是设计模式中最为简单、最为常见、最容易实现的模式。单例模式就是怎样去创建一个唯一的变量(对象),即类只能实例化一个对象
1.单例模式实现思路:
1.屏蔽构造函数:
屏蔽生成对象的方法(私有化):将构造函数和拷贝构造函数写在私有访问限定符下,拷贝构造函数可以只写声明。
2.在类中公有访问限定符下提供一个生成对象的接口:
该接口不能依赖对象调用,即不能返回类类型的指针或引用。所以要用静态方法返回,提供一个静态方法来让外界获取对象实例
单例模式分为两种:
饿汉模式:先把对象(面包)创建好,等我要用(吃)的直接直接来拿就行了。
因为饿汉模式可能会造成资源浪费的问题,所以就有了懒汉模式
懒汉模式:先不创建类的对象实例,等你需要的时候我再创建。