使用 netty 制作了一个服务端,调用报文头通过 if 转向对应的方法,老用 ifelse 不是很好,于是想制作类似 SpringMvc 的 s 方法级控制器,这点上首先想到了反射和注解,也有了思路,但听说反射效率性能问题。网上也有很多描述反射性能问题的。
还有另一个办法,基于 HashMap<String,接口类>的方式,而这又分为两种,一是基于 JDK1.8 的 Lambda 表达式匿名方法,但这样的话,一个接口只能写一个方法,不然无法用 lambda 表达式。还有一种是声明接口字段,然后 new 出匿名类。在匿名类里面的各个方法进行开发。
这两种方式综合起来,那种比较好,尤其可能在是在 Spring 容器主导的环境下