黑马程序员—2个设计模式
2011-09-02 20:51
344 查看
---------------------- android培训、java培训、期待与您交流! ----------------------
设计模式:解决某一类问题最行之有效的方法。
java中有23种设计模式
单例设计模式:
解决一个类在内存中只存在一个对象。
相应保障对象唯一。
1,为了避免其他程序过多的建立该类对象,先禁止其他程序建立该对象。
2,还为了让其他程序可以访问到该对象,只好在本来中自定义一个对象。
3,为了方便其他程序对自定义对象的访问,可以对外提供一些访问方式。
上面三步怎么用代码体现??
1,将构造函数私有化。
2,在类中创建一个本类对象。
3,提供一个方法可以获取到该对象。
对于事物怎么描述还是怎么描述。
当需要将该事物的对象保证在内存中唯一时,就将以上的三步加上即可
/*
这个是先初始化对象
称为:饿汉式。
Single类一进内存,就已经创建好了对象。
class Single
{
private static Single s=new Single();
private Single(){}
public static Single getIstance()
{
return s;
}
}
*/
//对象是方法被调用时,才初始化,也叫做对象的延时加载。称为:懒汉式
//Single类进内存,对象还没有存在,只有调用了getInstance方法时,才建立对象。
class Single
{
private static Single s=null;
private Single(){}
public static Single getIstance(){
if (s==null)
{
synchronized(Single.class)//加锁
{
if(s==null)
s=new Single();
}
}
return s;
}
}
//记录原则:定义单例,建议使用饿汉式。
class
{
public static void main(String[] args)
{
System.out.println("Hello World!");
}
}
模板方法模式
需求:获取一段程序运行的时间
原理:获取程序开始和结束的时间并且想减即可。
获取时间:System.currentTimeMillis();
当代码完成优化后,就可以解决这类问题了。
这种方式,叫做模板方法设计模式。
什么是模板方法??
在定义功能时,功能的一部分是确定嘚,但是有一部分是不确定的,而确定的部分在使用不确定的部分。
那么这时就将不确定的部分暴露出去。
---------------------- android培训、java培训、期待与您交流! ----------------------
设计模式:解决某一类问题最行之有效的方法。
java中有23种设计模式
单例设计模式:
解决一个类在内存中只存在一个对象。
相应保障对象唯一。
1,为了避免其他程序过多的建立该类对象,先禁止其他程序建立该对象。
2,还为了让其他程序可以访问到该对象,只好在本来中自定义一个对象。
3,为了方便其他程序对自定义对象的访问,可以对外提供一些访问方式。
上面三步怎么用代码体现??
1,将构造函数私有化。
2,在类中创建一个本类对象。
3,提供一个方法可以获取到该对象。
对于事物怎么描述还是怎么描述。
当需要将该事物的对象保证在内存中唯一时,就将以上的三步加上即可
/*
这个是先初始化对象
称为:饿汉式。
Single类一进内存,就已经创建好了对象。
class Single
{
private static Single s=new Single();
private Single(){}
public static Single getIstance()
{
return s;
}
}
*/
//对象是方法被调用时,才初始化,也叫做对象的延时加载。称为:懒汉式
//Single类进内存,对象还没有存在,只有调用了getInstance方法时,才建立对象。
class Single
{
private static Single s=null;
private Single(){}
public static Single getIstance(){
if (s==null)
{
synchronized(Single.class)//加锁
{
if(s==null)
s=new Single();
}
}
return s;
}
}
//记录原则:定义单例,建议使用饿汉式。
class
{
public static void main(String[] args)
{
System.out.println("Hello World!");
}
}
模板方法模式
需求:获取一段程序运行的时间
原理:获取程序开始和结束的时间并且想减即可。
获取时间:System.currentTimeMillis();
当代码完成优化后,就可以解决这类问题了。
这种方式,叫做模板方法设计模式。
什么是模板方法??
在定义功能时,功能的一部分是确定嘚,但是有一部分是不确定的,而确定的部分在使用不确定的部分。
那么这时就将不确定的部分暴露出去。
---------------------- android培训、java培训、期待与您交流! ----------------------
相关文章推荐
- 黑马程序员--IO总结(含2个设计模式)
- 黑马程序员--java单例设计模式
- 黑马程序员-JAVA学习之装饰设计模式与自定义BufferedReader
- 黑马程序员---单例设计模式
- 黑马程序员-Java_单例设计模式(Singleton Pattern)
- 黑马程序员————单例设计模式
- 黑马程序员_毕向东JAVA基础_设计模式&异常处理机制
- 黑马程序员——Java基础---面向对象(对象的初始化、对象调用成员、单例设计模式)(4)
- 黑马程序员——><基础加强一(eclipse-静态导入-享元设计模式-自动拆装箱-枚举-反射-类加载器)>
- 黑马程序员7--单例设计模式
- 黑马程序员------- 单例设计模式-------
- 黑马程序员--读写字节数组,随机读写流,集合IO的思维导图,多线程部分,单例设计模式,线程和进程的概念,Java中的线程的创建方式,线程的随机性,线程的状态图,多线程操作共享数据的安全性,死锁
- 黑马程序员-->Java基础-->单例设计模式
- 设计模式 : 带2个参数的简单工厂
- 黑马程序员_java 单例设计模式
- [黑马程序员]第五篇:设计模式
- 黑马程序员-23种设计模式之单例模式
- 黑马程序员-设计模式
- 黑马程序员_代理设计模式
- 黑马程序员——Java设计模式之单例模式