单例设计模式
饿汉模式
类加载的时候就会创建实例化,不管用户是否调用实例.
懒汉式:
只是声明一下唯一的实例,也是类所有,私有,并且提供一个获取实例的方法
只是在用户在调用的时候,,判断是否有实例,没有就开始创建一个,,返回去,并且以后用的都是这一个实例
区别
代理模式
真实对象:被代理的对象
代理对象:
代理模式:代理对象代理真实对象,达到增强真实对象功能的目的
实现方式:
静态代理: 有一个类文件描述代理模式
动态代理:在内存中形成代理类
实现步骤:
- 代理对象和真实对象实现相同的接口
- 代理对象 = Proxy.newProxyInstance();
- 使用代理对象调用方法
- 增强方法
适配器模式
解决接口和实现类中的臃肿问题
当发现一个实现类,只需要接口当中的部分功能,就可以使用适配器设计模式进行优化
实现:1.当然少不了一个中间类,让中间类实现接口,实现方法,[但是是空实现],
2.再让子类去继承这一个中间类,重写我所需要的部分方法,这样就不需要把接口中的所有的方法进行重写了
切记:这个中间类必须是抽象的abstract,为了不让人恶意破坏,
工厂设计模式
意图:定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使
其创建过程延迟到子类进行。
主要解决:主要解决接口选择的问题。
何时使用:我们明确地计划不同条件下创建不同实例时。
如何解决:让其子类实现工厂接口,返回的也是一个抽象的产品。
关键代码:创建过程在其子类执行。
装饰者模式..........