您的位置:首页 > 其它

使用单例模式需要注意的几个问题

2014-04-03 14:32 751 查看
单例模式是最简单的设计模式之一,但是它却存在一些问题与缺陷。下面简单说下单例模式的使用中需要注意的一些问题。

1. 实例指针一定要设为静态吗?

因为GetInstance这个方法要用到该实例指针,且GetInstance这个方法是static的,所以这个指针必须是static的,否则GetInstance无法访问该实例指针。以此同时保证了向其他对象提供唯一的同一个内存区的实例指针。

2. 为什么不弃用懒汉式而直接用饿汉式?

首先,懒汉式是典型的以时间换取空间的例子,就是每次获取实例时都要进行判断,看是否要创建实例,浪费判断时间。当然如果一直没有人用的话,就不会创建实例,则是节约空间。而饿汉式是典型的以空间换取时间,就是说当类装载的时候,就创建出一个实例,不管你用不用它,然后每次调用时就不用判断了,节省了运行时间。

这里说某种方式一定比另一种方式好,它们两者各有各的优势。关键取决于你在时间和空间上效率的取舍。

and so on

详见:

http://cache.baiducontent.com/c?m=9f65cb4a8c8507ed4fece7631046893b4c4380147d8c8c4668d4e419ce3b4c413037bfa6663f405a8e906b6075aa180de1f13523670123b598cf8c4d8aac925f75ce786a6459db0144dc0edfcc5156c637912afede1bf0ce862592dec5a3d84322cc44040a9781f84d701fdd19f10340e2&p=9e7ec54ad6c343f40be29624165f91&newp=882a9545d4822deb05be9b7c1b0a98231610db2151d6d5173eb8d715&user=baidu&fm=sc&query=%B5%A5%C0%FD%B5%C4%CA%B9%D3%C3&qid=&p1=8
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: