单例模式(Singleton)-设计模式(五)

原创 2016年08月31日 10:59:34

单例模式我觉得就是唯一性,个人认为 Singleton 模式是设计模式中最为简单、最为常见、最容易实现,也是最应该熟悉和掌握的模式。
作用:保证一个类仅有一个实例, 并提供一个访问它的全局访问点。
解析:
Singleton 模式其实是对全局静态变量的一个取代策略,上面提到的Singleton 模式的两个作用在 C++中是通过如下的机制实现的:
1)仅有一个实例,提供一个类的静态成员变量,大家知道类的静态成员变量对于一个类的所有对象而言是惟一的
2)提供一个访问它的全局访问点,也就是提供对应的访问这个静态成员变量的静态成员函数,对类的所有对象而言也是惟一的.在 C++中, 可以直接使用类域进行访问而不必初始化一个类的对象.
Singleton 模式需要说明的是,Singleton 不可以被实例化,因此我们将其构造函数声明为 protected或者直接声明为 private。
如果一个项目中用到的singleton模式较多的话,一般会定义一个模板:

Template <typename T>
class Singleon
{
    //类的声明和实现
}
//需要用到Singleton的类
class Testpublic Singleton<Test>
{
    //类的声明
}

个人觉得Singleton模式的实现很简单,看个简单的实现吧。

 #include<iostream>

using namespace std;

class Singleton
{
    public:
        static Singleton* Instance()
        {
            if(_instance == 0)
            {
                _instance = new Singleton();
            }
            return _instance;
        }
    protected:
        Singleton()
        { 
            cout<<"Singleton..."<<endl; 
        }
    private:
        //静态成员变量,提供全局唯一的一个实例
        static Singleton* _instance;
};
//类的静态成员变量要在类体外进行定义
Singleton* Singleton::_instance = 0;
int main()
{
    Singleton* sgn = Singleton::Instance();
    return 0;
}

这里写图片描述
这里写图片描述

版权声明:本文为博主原创文章,转载时需声明出处。http://blog.csdn.net/tax10240809163com 举报

相关文章推荐

设计模式(五) 单例模式(Singleton)

1.定义 单例模式是一种创建型的设计模式。单例模式意在保证一个类仅有一个实例,并且提供一个全局的访问点。 2.适用性 当类只能有一个实例而且客户可以从一个众所周知的访问点访问它时当这个唯一实例应该是...

单例模式(Singleton)-设计模式(五)

单例模式我觉得就是唯一性,个人认为 Singleton 模式是设计模式中最为简单、最为常见、最容易实现,也是最应该熟悉和掌握的模式。 作用:保证一个类仅有一个实例, 并提供一个访问它的全局访问点。 ...

精选:深入理解 Docker 内部原理及网络配置

网络绝对是任何系统的核心,对于容器而言也是如此。Docker 作为目前最火的轻量级容器技术,有很多令人称道的功能,如 Docker 的镜像管理。然而,Docker的网络一直以来都比较薄弱,所以我们有必要深入了解Docker的网络知识,以满足更高的网络需求。

设计模式——单例Singleton

概述定义:确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。使用场景:确保某个类有且只有一个对象的场景,例如创建一个对象需要消耗的资源过多,如要访问 IO 和数据库等资源。

单例设计模式(singleton)

单例设计模式的概念:            作为对象创建模式,档里模式确保某个类只有一个实例对象,而且自行创建实例并向整个系统提供这个实例。这个类称为单例类!       单例模式的提点:   ...

单例设计模式(Singleton)

单例设计模式(Singleton)是一种常用的设计模式。在Java应用中,单例对象能保证在一个JVM中,该对象只有一个实例存在。这样的模式有几个好处: 1、某些类创建比较频繁,对于一些大型的对象,...

单例设计模式(Singleton)

一、设计模式:解决某一类问题最行之有效的方法二、单例设计模式:解决一个类的内存只存在一个对象三、保证对象唯一(思想) 为了避免其他程序过多建立该类对象,先禁止其他程序建立该类对象 为了其他程序可以访问...

单例(Singleton)设计模式

单例(Singleton)设计模式保证每个类只有一个实例,并为这个实例提供一个全局的访问点。       与工具类中静态成员不同,单例类一般用来保存应用程序的状态数据,这些数据在应用程序的各个部分都...

设计模式——单例模式(Singleton Pattern)

设计模式——单例模式(Singleton Pattern) 单例设计模式总结 多线程中的单例

设计模式(二)——单例模式(Singleton)

意图 保证一个类仅有一个实例,并提供一个访问它的全局访问点。 适用性 当类只能有一个实例而且客户可以从一个众所周知的访问点访问它时。 当这个唯一实例应该是通过子类化可扩展的,并且客户应该无需更...

设计模式之单例模式Singleton

设计模式之单例模式Singleton参考文献参考1:http://www.iteye.com/topic/60179参考2:研磨设计模式参考3:http://cantellow.iteye.com/b...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)