前言
需求:一个模块中的功能比较固定(可能步骤都是那几步),需要复用到其他模块或者系统中(这里的系统后续可能会不断增加),但是其他地方难免会有一些个性化的要求,此时该如何优雅设计这部分功能呢?
🤯怎么样有思路嘛,嗯…如果没有的话不妨先看一下我的。
思路:1.将比较固定的流程,固化成几个模板方法;
2.个性化的需求我们很容易想到策略模式,但是光用策略模式,代码扩展性就太低了;
3.此时我们就可以想到用自定义注解,利用注解参数作为策略传入;
4.那这个注解如何生成呢?工厂模式闪亮登场
下面直接来看下关键点的代码截图:
模板(你的模板你做主):
自定义注解(这里可以根据你自己的需要,定义下方的方法参数):
类注解:标记使用了自定义注解的类,后面我们在工厂中,就可以找到这个注解,并扫描它下面的自定义注解方法了
最后需要的是注解工厂,主要就是扫描到自定义注解方法,进行生产。
总结
代码的优化我们可以考虑:1.精简代码;2.优化逻辑;3.用设计模式…如果你还有什么好的想法,欢迎评论区留言。我是油条~如果不想吃生活的苦,就跟我一起吃学习的苦,下期见!