栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

创建型模式 - 单例模式

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

创建型模式 - 单例模式

概述

单例模式的目的是保证一个类仅有一个实例,并提供一个访问它的全局访问点。

优点

提供了对唯一实例的受控访问。

缺点

单例类的职责过重,在一定程度上违背了“单一职责原则”。

类图

 

代码块

1. 饿汉型 

#include 

using namespace std;

class God
{
public:
	static God *getInstance() {
		return m_god;		
	}

	void show() {
		cout << "i am god" << endl;
	}
private:
	static God *m_god;
};

God *God::m_god = new God();;

int main()
{
	God *god = God::getInstance();
	god->show();	
	return 0;
}

2. 懒汉型

#include 

using namespace std;

class God {
public:
	static God *getInstance() {
		if(m_god == NULL){
			m_god = new God();
		}
		return m_god;		
	}

	void show() {
		cout << "i am god" << endl;
	}
private:
	static God *m_god;
};

God *God::m_god = NULL;

int main()
{
	God *god = God::getInstance();
	god->show();
	return 0;
}
参考

5. 单例模式 — Graphic Design Patterns

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/721056.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号