首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件开发 >

设计方式:单件模式

2012-11-11 
设计模式:单件模式参加了多场笔试,在笔试题目中偶尔会问什么单件模式。在网上搜了之后了解到这是设计模式中

设计模式:单件模式

参加了多场笔试,在笔试题目中偶尔会问什么单件模式。在网上搜了之后了解到这是设计模式中的一种设计方法。单件模式可用于消除全局这样的需求。

Q.什么是单件模式?

A.单件模式是一种用于确保整个应用程序中只有一个实例,且这个实例所占资源在整个应用程序中是共享时的程序设计方法。

Q在面向对象中如何设计出只有一个实例的对象呢?

A.每个对象的产生都要调用构造函数,对构造函数进行限制有可能能达到要求。因此,把构造函数设计为私有或保护类型。

Q.私有的构造函数如何构造一个对象呢?

A.声明成一个类的静态变量,变量声明时可以调用私有的构造函数或者在有权限调用私有函数的函数内部构造该对象(对象内的函数有权限,友元有权限)

明白了这些,看看如何通过全局变量的方法构建一个满足单件模式的类吧。

int main()  {  singleton & s=singleton::instance();//获得对象cout << s.getValue()<<endl;singleton & s1=singleton::instance();//获得对象s1.setValue(20);cout << s.getValue()<<endl;        return 0;}

上面的方法并没有限制只创建一个对象。上面的技术支持创建有限个对象的对象池。考虑构造静态对象数组。解决了吧。


热点排行