最近,在使用springboot开发一个接口的时候,需要根据接收的请求事件类型,去执行不同的操作,返回不同的结果,基本逻辑如下:写完会发现,随着事件的增加,这段代码会很长,每个事件的处理函数也都集中在一个类当中,不好维护。因此,通过搜索学习发现,可以使用Springboot的注解+策略模式+简单工厂的方式来消除switch-case。其中,execute是事件的处理方法接下来,逐个的编写事件处理类,举下面一个例子:定义SpringContext工具类定义事件处理类工厂,用来生产各种事件处理对象调用代码修改这样,代码就没有了switch-case,增加一个事件也很简单,只需要实现EventProcess接口即可。
暂无评论