您的位置:首页 > 职场人生

黑马程序员_单例设计模式

2013-03-21 19:01 211 查看
-------
Windows Phone 7手机开发、.Net培训、期待与您交流! -------

单实例设是一种使用很广泛的设计模式。其思想意图是保证一个类只有一个实例,并且提供类对象的全程访问。单实例对象应用的范围很广:如GUI应用必须是单鼠标,MODEM的联接需要一条且只需要一条电话线,操作系统只能有一个窗口管理器,一台PC连一个键盘。

单例设计模式是对问题行之有效的解决方式,其实它是一种思想。单例设计模式就是可以保证一个类在内存中的对象的唯一性,比如必须对于多个程序使用同一个配置信息对象时,就需要保证该对象的唯一性。

那么我们如何保证对象的唯一性呢?

①不允许其他程序用new创建该类对象

②在该类中创建一个本类实例

③对外提供一个方法来让其他程序可以获取该对象

下面我们来看看单例设计模式的创建步骤:

①私有化该类构造函数

②通过new在本类中创建一个本类对象

③定义一个共有的方法,并将创建的对象返回

下面我来介绍单例设计模式的两种方式:(饿汉式、懒汉式)

饿汉式(开发时常用)

class Single{

private static Single s = new Single();

private Single(){}

public static Single GetInstance(){

return s;

}

}

懒汉式(面试时常见)

/*

*类加载进来,没有对象,只有调用GetInstance()方法,才会创建对象,这是延迟加载形式。延迟加载机制是为

*了避免一些无谓的性能开销而提出来的,所谓延迟加载就是当在真正需要数据的时候,才真正执行数据加载操作。

*/

class Single{

private static Single s = null;

private Single(){}

public static Single GetInstance(){

if(s==null){

s = new Single();

}

return s;

}

}

------- Windows Phone 7手机开发.Net培训、期待与您交流! -------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: