网站建设平台案例怎么做网站收录的关键词
网站建设平台案例,怎么做网站收录的关键词,两阳夹一阴后续走势,有哪些可以做外链的网站大家好#xff0c;我是Z哥。应该有不少程序员受过这样的困扰#xff0c;特别是做后端的。项目一直在持续不断的迭代#xff0c;但是呢老版本的代码还不能直接删掉#xff0c;因为不一定所有的调用端都能在同一时间点完成升级。你是怎么处理这种情况的呢#xff1f;方法上增… 大家好我是Z哥。应该有不少程序员受过这样的困扰特别是做后端的。项目一直在持续不断的迭代但是呢老版本的代码还不能直接删掉因为不一定所有的调用端都能在同一时间点完成升级。你是怎么处理这种情况的呢方法上增加参数方法实现里增加if else论难度的话这个问题是不难肯定每个人都有办法解决。但是解决的是否优雅是否会给后续带来更大的成本有这考虑的人可能就不多了。我看到过一些项目里做兼容的方法是真的粗暴直接怼if else。比如原本创建一笔交易的时候我们需要的数据是用户的姓名、收货地址、邮编。现在迭代的一个新版本需要增加手机号信息并且不需要邮编了。粗暴的写法怎么写呢if(postData ! null ){ if(postData.mobile ! null){ //新版本的处理方式 } else{ //旧版本的处理方式 }}如果以后再新加了一个参数呢if else再多嵌套一层……你见过类似上面那样的代码吗这可能是最容易想到的改法但针对向前兼容不仅仅只有这一种方式。容我一个个来说。/01 通过接口上增加版本号/最常用的增加版本号的方式是直接加到接口上。比如http://api.xxx.com/1/user/login如果后续的改动完全是新业务的追加那么可以继续沿用这个1版本的接口。如果有做删减那么可以新增一个版本2的接口调整后的业务逻辑在这个版本的接口里实现。http://api.xxx.com/2/user/login这样一来你的项目中就同时存在了两个版本的接口。新的客户端调用2版本的老的客户端调用1版本的。在这个期间让客户端尽快都升级到2版本然后后续就把1版本的接口删掉。有的人有代码洁癖觉得一个项目里同时存在两个相同业务逻辑的接口不太舒服那么可以试试下面这个方法。/02 一个前端版本对应一个后端版本/与上面的区别就是在项目的代码里你不用新增加一个接口出来直接把原先的接口修改成新的业务逻辑即可。但是呢新版本上线的时候老版本不能被全部替换掉需要保留一段时间给旧版本的客户端使用。这件事的逻辑与前面一样给客户端一段时间来升级。其实所谓的「服务发现」或者说「服务治理」就是这类思想的体现只是玩的更加体系化。在服务发现的服务端针对不同的服务本身就有版本的概念比如OrderService/v1 : 192.168.0.1:8000 , 192.168.0.1:8001OrderService/v2 : 192.168.0.1:8100 , 192.168.0.1:8101UserService/v1 : 192.168.0.1:9000 , 192.168.0.1:9001UserService/v2 : 192.168.0.1:9100 , 192.168.0.1:9101……客户端调用的时候根据其传入的版本号自动路由到对应版本的服务目标地址。当然这个方案有一个问题是由于产生环境同时运行着多个版本的程序所以数据库的字段只能增加不能删除并且增加的字段需要给上默认值。删除字段只能随着后续旧版本的去除进行。除了以上两种方案外我们还可以做一些其他的工作以保障向前兼容更好地进行。/01 数据库设计预留扩展字段/我们在设计数据表的时候如果对后续业务预判会扩展。那么可以在做数据表设计的时候预留几个扩展字段ext1,ext2,ext3,……。这样的话配合上面提到的方案2能更好地进行因为后续新增的字段可以暂时存在这些扩展字段里不需要对表结构作出变更。/02 APP提供强制更新功能/如果是针对APP的向前兼容那么务必在APP里留出一个强制更新的口子。以免有些用户长期不升级导致你的旧版本迟迟无法去除。针对你可以承受的多版本情况可以给予提示性的更新提醒由用户自行选择是否更新。如果针对少数隔了多个版本还未升级的用户可以给出强制性的更新让其无法继续在旧版本上操作。强制更新也分局部更新和全量更新。现在针对局部更新的「热更新」受到了一些应用市场的限制所以在用「热更新」之前谨慎了解对应平台的规则。另外向前兼容不可能是无止境不丢掉一些包袱不断的新增包袱只会让后续的维护成本不堪重负。所以需要做好对各个版本使用情况的监控一旦某个版本的使用量低于某个值就应该给予强制更新的提醒。其实类似的向前兼容问题除了api之外在对外提供的三方库SDK、公司内给其他项目调用的二方库SDK中也有一样的情况。他们的解决思路也是类似的。最后我建议你多看一些知名的开源项目从中你可以学到很多优雅的编程技巧和代码设计理念。好了总结一下。这篇呢Z哥和你分享了软件向前兼容的一些方法。除了粗暴的if else之外你可以尝试一下以下两种方法通过接口上增加版本号一个前端版本对应一个后端版本除此之外以下这两件事也对做好向前兼容有很大帮助。数据库设计预留扩展字段APP提供强制更新功能希望对你有所帮助。不要光顾收藏记得用起来哦。推荐阅读为什么我们总是「习惯性辩解」致后浪6句肺腑之言望你少走弯路原创不易如果你觉得这篇文章还不错就「在看」或者「分享」一下吧。鼓励我的创作 如果你有关于软件架构、分布式系统、产品、运营的困惑可以试试点击「阅读原文」
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/86170.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!