黑马程序员_单例设计模式
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培训、期待与您交流! -------
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培训、期待与您交流! -------
相关文章推荐
- 黑马程序员——java小结_007_单例设计模式(懒汉式、饿汉式)
- 黑马程序员——网络编程与设计模式
- 黑马程序员——继承、单例设计模式
- 黑马程序员--单例设计模式的笔记(懒汉式,饿汉式)
- 黑马程序员_基础_IO流学习笔记_文本文件读取及复制、字符流的缓冲区和装饰设计模式
- 黑马程序员——Java基础---理解单例设计模式
- 黑马程序员——Java设计模式之单例模式
- 黑马程序员—单例设计模式
- 黑马程序员 JDBC_通过代理模式来保持用户关闭连接的习惯,代理设计模式(李勇老师)
- 黑马程序员 JDBC_使用模板方法设计模式处理DAO中的方法(李勇老师)
- 黑马程序员——单例设计模式
- 黑马程序员-Java _ 简单工厂设计模式(Plant Pattern)
- 黑马程序员—Java面向对象(单例设计模式、面向对象的继承、final关键字)
- 黑马程序员--老毕的“模版方法设计模式”
- 黑马程序员---java单例设计模式
- 黑马程序员面试题面向对象一(封装,构造函数,this,static,单例设计模式,继承)
- 黑马程序员_单例设计模式
- 黑马程序员 _ java基础 _ 之装饰者设计模式
- 黑马程序员--23中设计模式的用法指南
- 黑马程序员之——代理设计模式