在开发中经常遇到同一类似的处理,这一族类似的处理会根据不同的场景选择不同的处理类。例如,在报表生成中,需要生成交易明细日报,清算明细日报,挂账日报,积分月报等,这一族报表的处理都是类似的,也就是从数据库中获取数据,并按照报表格式导出即可。

    实现方式:

    1. 建一个处理接口,该接口包含一个获取code的方法,该code是处理类的标识,具有唯一性;一个处理方法,该方法处理报表数据,以建立报表。

    使用BeanPostProcessor实现处理类选择

2. 多个处理接口实现类,一个类对应一个报表。

3. 一个选择器接口,该接口包含一个获取处理类的方法,该方法通过传入code来获取处理器。

4. 一个选择器实现类,该实现类实现选择器接口和BeanPostProcessor接口,在实现BeanPostProcessor接口中,通过将实现了处理器接口的所有类加入到一个Map中进行保存,Map的key为处理器类的code,所以可以通过code来获取对应的处理器。

 

 

 

相关文章:

  • 2022-12-23
  • 2021-09-02
  • 2021-07-15
  • 2021-07-04
  • 2021-08-20
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-01-20
  • 2022-01-03
  • 2022-12-23
  • 2021-06-25
  • 2021-07-11
相关资源
相似解决方案