浅谈设计模式

单例设计模式

饿汉模式

类加载的时候就会创建实例化,不管用户是否调用实例.

浅谈设计模式_第1张图片

懒汉式:

只是声明一下唯一的实例,也是类所有,私有,并且提供一个获取实例的方法

只是在用户在调用的时候,,判断是否有实例,没有就开始创建一个,,返回去,并且以后用的都是这一个实例

浅谈设计模式_第2张图片

区别

浅谈设计模式_第3张图片

代理模式

真实对象:被代理的对象

代理对象:

代理模式:代理对象代理真实对象,达到增强真实对象功能的目的

实现方式:

静态代理: 有一个类文件描述代理模式

动态代理:在内存中形成代理类

实现步骤:

  1. 代理对象和真实对象实现相同的接口
  2. 代理对象 = Proxy.newProxyInstance();
  3. 使用代理对象调用方法
  4. 增强方法

浅谈设计模式_第4张图片

浅谈设计模式_第5张图片

适配器模式

浅谈设计模式_第6张图片

解决接口和实现类中的臃肿问题

当发现一个实现类,只需要接口当中的部分功能,就可以使用适配器设计模式进行优化

实现:1.当然少不了一个中间类,让中间类实现接口,实现方法,[但是是空实现],

2.再让子类去继承这一个中间类,重写我所需要的部分方法,这样就不需要把接口中的所有的方法进行重写了

切记:这个中间类必须是抽象的abstract,为了不让人恶意破坏,

浅谈设计模式_第7张图片

工厂设计模式

 

意图:定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使

其创建过程延迟到子类进行。

主要解决:主要解决接口选择的问题。

何时使用:我们明确地计划不同条件下创建不同实例时。

如何解决:让其子类实现工厂接口,返回的也是一个抽象的产品。

关键代码:创建过程在其子类执行。

装饰者模式..........

   详情请参考

你可能感兴趣的:(浅谈设计模式)