设计模式:
1、工厂模式
- 简单工厂 【直接创建对象太复杂;把复杂创建过程进行抽离复用】把复杂的创建过程抽离到工厂方法中,已达到复用目的
- 工厂方法 【简单工厂创建方法膨胀;不符合开闭原则;扩展麻烦】如果创建对象的工厂方法需要增加新的类型修改麻烦;把工厂抽离出一个接口、抽象类,新增类继承实现即可;随意增加即可。
- 抽象工厂 【工厂方法每一个具体产品就要对应一个具体工厂】
2、装饰者模式
3、代理模式
- 静态代理:1、代理与被代理实现相同的的接口,
2、代理继承自被代理类
3、实现增强与扩张
缺点:每个代理都要手写一个类型实现代理,当类较多时不适合 - 动态代理:静态代理是手写代理对象;动态代理是代码写成代理对象
1、JDK动态代理 基于接口
2、CJLB动态代理 基于继承,