app后端版本兼容代码设计?

求教。我们app的后端逻辑版本区分主要有两个维度:url、app版本(互联网产品,基本从不强制升级)。
1、url:xxx/v1 xxx/v2
2、app版本:iphone1.1 android1.2 ipad1.3
3、controller层采用SpringMVC
原始情况:在controller层各种版本if else,其实业务逻辑反而清晰,但是代码不友好,长期下来controller层代码很冗长。
尝试方案:在新controller v1版本时,定义基准抽象类和接口,后续版本更新继承原有controller。问题是controller文件略多,而且因为版本区分存在两个维度,导致虽然代码比较简洁,但可读性一般。

请求如果良好的设计版本兼容的代码,保证可读性和可维护性,想看一下大家的建议和方案,谢谢。

阅读 3k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题