杂项

来源:互联网 发布:阿里云实例快照是什么 编辑:程序博客网 时间:2024/06/05 02:02

设计模式

1、工厂模式

  • 简单工厂模式
        角色:工厂、抽象产品、具体产品
工厂 根据传入产品类型,生产具体的产品。
  • 工厂方法模式
简单工厂模式中,工厂职责太重,而且当新增产品时,需要修改工厂方法内部实现(违反 开闭原则)
       角色:抽象工厂、具体工厂、抽象产品、具体产品
  • 抽象工厂模式
工厂方法模式中,一个工厂只负责生产一种产品,当新增产品时,具体产品类和具体工厂类成对增加。
考虑可以让一个工厂生产多个产品(产品族),例如:电器工厂,可以生产  电视、空调、洗衣机这三种产品,这三种产品构成了
一个产品族。
产品等级结构:对于一个产品,例如 电视,可以有 TCL  LG  小米等。TCL电视、LG电视、小米电视构成了一个产品等级结构。

2、单例模式

  • 饿汉模式
系统加载时,就实例化 单例对象(线程安全)
  • 饱汉模式
需要时,实例化对象。(多线程环境下,需要确保线程安全)
  • 静态内部类
静态内部类 持有单例对象(线程安全)

3、代理
  • 静态代理
  • 动态代理:代理类 通过反射动态生成;只能代理实现了接口的类
  • CGLIB:针对类来实现代理,原理是对指定的目标类生成一个子类,并覆盖其中方法进行增强,
因为采用的是继承,所以不能对final修饰的类进行代理。

原创粉丝点击