MisterChangRay / magic-byte

a java tool for faster convertor byte2object
BSD 3-Clause "New" or "Revised" License
49 stars 20 forks source link

建议废弃 registerCMD(int cmd, Class<? extends MagicMessage> msgClazz) 方法 #38

Closed FULaBUla closed 11 months ago

FULaBUla commented 11 months ago

手动输入 cmd 容易输错了,还不好检查,不如强制实现 cmd 方法,然后注册只从 cmd 方法取值

MisterChangRay commented 11 months ago

注册输入和实现获取,都不能保证不出错的。

相对比而言,由于是统一注册,代码集中,所以更容易发现写错的地方。实现则要点开一个一个看。

FULaBUla commented 11 months ago

注册输入和实现获取,都不能保证不出错的。

相对比而言,由于是统一注册,代码集中,所以更容易发现写错的地方。实现则要点开一个一个看。

那不如,不需要手动注册了,直接从接口类获取所有的实现类,然后遍历一遍 cmd 方法自动注册就好了,这样一方面减少了自己手写的风险,然后自动注册的时候提示和谁重了。统一注册要要点开一个一个看,那就是 cmd 写一遍,注册再写一遍也麻烦,搞太多了还有可能眼花

MisterChangRay commented 11 months ago

是需要保留手动注册,

FULaBUla commented 11 months ago

是需要保留手动注册,

  • 自动注册需要扫描classpath, 一般消息也就百十来条,没必要
  • 还有自动注册时,使用了公共类部分抽取不出来cmd值

那确实,如果没有 spring 框架或者别的第三方依赖确实不太好实现,但是注册的时候不写 cmd ,只需要在 cmd() 里写一次感觉也回省事儿很多,至少不用点开在看,重复检查了