类似这种的问题,总有一些新人朋友在问。这篇文章分享一下我所知道的思路。
我所想到的有4种解题方法:
协议格式
第一种方式,最简单的方法就是写switch,两组switch嵌套,来分发消息到哪个类的哪个函数处理,具体就不多解释了,显然这不是我们想要的写法。
第二种方式,使用XML配置判断消息去哪个类来处理,到处理的具体类里面还是写switch来判断去哪个函数处理。
处理大协议号的XML
小协议号switch处理
上图的XML配置是我之前做的项目里用的,去哪个类来处理消息,使用该配置文件,在服务器启动的时候根据XML反射创建处理类对象,然后在某个具体类里面处理消息还是使用的switch来判断。显然这种也不是我们想要的处理方式,能不能更优雅一点,比如整成类型SpringMVC那样的操作方式,在类和函数分别上面加上注解来处理消息的分发呢?答案是可以的。