请教关于APP后端多版本策略

(ca88亚洲城网页版)

这个问题之前有人问过,但是我看到并没有什么可以吸收的营养,因此想再问问,大家都是怎么做的?
因为项目中需要控制多个版本的接口同时提供给多个版本客户端的情况,所以一直对接口版本的策略心存疑问。请教一下大家如何实现的呢?
后端语言:php
目前我能想到的实现方式:
1,单一目录,接口内部判断 (很恶心,很容易造成混乱)
2,每版本就拖出一个版本目录,可以随心所欲的修改某个版本的接口,但是如果有一个接口逻辑要修改的话,可能涉及全部版本里的文件,比如1.0,2.0,3.0,4.0.。。。很变态的方式
3,建立一个基础版本,利用autoload的规则,如果版本目录下有,则用版本目录里的类,没有的话去用基础版本里的类。好处是各个版本目录里,只存在变动了的文件。但是在开发中,依旧感觉拖沓。
4,利用继承,版本里的类重写基础版本里的类方法,好处是只需要重写一个方法,但是坏处是考虑到私有方法的问题。

希望有其他的方法可以更好的管理多个版本的问题。
多谢

实际项目中,遇到过需要多个版本不是多个类型的客户端的问题。根据经验,用的是你的方法 1、2 的结合。

  1. 的确是每个大改动就要拖一个版本目录。因为需求的变动不会预测,保留最大的修改余地免得遇到死结。

  2. 小版本还是可以合并的,在代码内判断下。比如有时候线上问题,修改一个字符串描述都能算一个小版本,这种能合并还是不用那么麻烦拖版本。

具体什么时候分,什么时候不分,那就看具体项目自己掌握了。

  • 原则一:大版本数最好控制在3个以内,越少越好,其它老版本提示升级

  • 原则二:小的改动,只增加不删除

发表评论

电子邮件地址不会被公开。 必填项已用*标注