设计模式是在编程历史中你们总结出来解决一类问题的经验。、编程
一共有23中设计模式,如今简单的介绍几种。设计模式
1代理模式 (相似显示)jvm
静态代理设计
目标对象(真实对象)代理
代理对象对象
原理:代理对象和目标对象实现一样的接口,接口
而后就能够在程序中使用代理对象,内存
调用目标对象,以及对目标对象的方法作必定的加强。(效果:在不改变对象源码的状况下,对对象作必定的加强)get
动态代理源码
目标对象(真实对象)
代理对象
原理:动态代理和静态代理的区别:是静态代理中代理对象须要有一个具体的类,来建立代理对象,动态代理是使用Proxy对象在内中中生成一个代理对象,而后对象对象进行必定的加强。
2装饰者模式
装饰者模式和代理模式有必定的类似性,可是没有代理模式灵活,推荐使用代理模式。
3适配器模式
只用对适配器作必定的改动,便可让其适配其余相似的对象。
4单例模式
单例模式:是指使用必定的方式,让该对象整个项目中只能存在一个 : 核心(构造私有) ,提供公共方法,建立对象
懒汉式:在调用对象时再对对象进行建立(好处:节约内存,弊端:效率差一点) (和jvm中的懒加载类似)
实现:
public class SingoClass()
{
private SingoClass(){};
private SingoClass singoClass
public getInstance(){
if(singoClass==NULL)
{
singoClass = new SingoClass ();
}
return SingoClass ;
}
}
饿汉式:在项目初始化时,就直接建立一个对象,而后进行返回 (好处:效率高。弊端:占用内存) 核心 (构造私有)提供外部访问方法
实现:public class SingoClass()
{
private SingoClass(){};
private SingoClass singoClass
singoClass = new SingoClass ();
public getInstance
{
return SingoClass ;
}
}