场景与思考

        最近工作遇到给接口加缓存的任务,像我这么有想法的大好青年,肯定要写无侵入性的代码啊,怎么能直接在原先的代码上动刀呢,所以我很聪明的加了个代理如图。

浅用 JDK8 Function

写完了就是这样的

浅用 JDK8 Function

但是问题是我有35个方法 -  - 都需要加,并且逻辑都很一样,大概只是一些类型和被代理的类不一样

所以我就想把逻辑抽出来,,,,这一抽就是好几天- -   真是生抽啊,几经周转找到了Function

个人理解

          Function是什么?简单说Function是个接口,之前我们都给方法里面穿参数,参数有对象,值,枚举等,而function传的是方法,也就是说你写好一个框架,可以传进去一个方法执行。

例子

          https://www.jianshu.com/p/0746aaf5f955    没错我就是懒得写= =   写代码的时候把例子给删了 咳咳

         https://blog.csdn.net/huo065000/article/details/78964382   这个也还可以

          再附上一张图这样图网上没有(方便用不同的function解决问题)

浅用 JDK8 Function

使用

抽象出了一个代理父类

浅用 JDK8 Function

浅用 JDK8 Function

心得

          要不是看过java8的流实现原理,还不知道能传方法,平时还是要多看书,有这个缓存我也会用动态代理和spring 缓存标签来实现下,看看有没有更好的解。

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-09-09
  • 2022-12-23
  • 2022-12-23
  • 2021-07-27
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-01-06
  • 2022-12-23
  • 2023-04-03
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案