【系统架构】遗留系统的技术栈迁移

什么是遗留系统(Legacy System)?根据维基百科的定义,遗留系统是一种旧的方法、旧的技术、旧的计算机系统或应用程序[1]。这一定义事实上并没有很好地揭露遗留系统的本质。我认为,遗留系统首先是一个还在运行和使用,但已步入软件生命周期衰老期的软件系统。它符合所谓的“奶牛规则”:奶牛逐渐衰老,最终无奶可挤;然而与此同时,饲养成本却在上升。这意味着遗留系统会逐渐随着时间的推移,不断地增加维护成本。

维护一个软件系统,就需要了解该软件系统的知识。若知识缺失,就意味着这会给维护人员带来极大的障碍和困难。从这个角度讲,所谓“遗留系统”,就是缺少了一部分重要知识,使得维护人员“知其然而不知其所以然”的软件系统。

若要让遗留系统焕发青春,最彻底的做法自然是推倒重来,但这样付出的代价太高;而且,即使对系统重新设计和开发,仍然免不了会重蹈遗留系统的覆辙。或者,可以对遗留系统进行重构,在不修改系统功能的情况下改善系统设计。只是这种重构常常是对系统进行重大扩展或修改的前奏,如无绝对必要,并不推荐这种偿还“技术债务(Technical Debt)”的方式。重构应与开发同时进行,而不应将其作为债务推迟到最后,以至于支付高昂的利息。最后,还有一种方式,则是对遗留系统进行技术栈迁移。

原文发布于微信公众号 - 逸言(YiYan_OneWord)

原文发表时间:2014-08-26

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏JadePeng的技术博客

高效沟通技巧

高效沟通是工作中的必备技巧,本文为学习总结。 什么是沟通? 沟通是达成共识,理解一致 沟通 VS. 表达 : 沟通是双向交流,而表达是单向 沟通关键在于通,需要...

2786
来自专栏互联网数据官iCDO

今日头条投放没效果?可能不是你自己的问题!

原创作者:宋星 本文长度为1000字 ,建议阅读5分钟。 作者系iCDO创始人,网站分析在中国创始人,宋星 写在前面:这篇文章只是描述我遇到的问题,不涉及任...

2669
来自专栏互联资讯

杀毒软件揭秘网络彩票骗局:背后竟是一条龙服务

随着互联网的发展,民众的生活日益数字化,这也为不法分子提供了可趁之机。多年来,网络诈骗愈演愈烈,虚假购物、虚假兼职和虚假中奖等诈骗手段屡屡被媒体曝光。近段时间,...

2492
来自专栏一个会写诗的程序员的博客

“莫兰迪色系” 高级灰

“莫兰迪色系”指的是高级灰色调,不鲜亮,仿佛蒙上一层灰调,低调有内涵,舒缓雅致,略显冷静,有一种性冷淡风,”高级灰“的梗就是出自这里。

932
来自专栏知晓程序

58 万个小程序彻底沸腾!微信小程序可以接广告了!

1405
来自专栏知晓程序

天天坐地铁的你,一定会爱上这款小程序

不得不说,地铁已经成为我们游走在城市间的重要交通工具,而对地铁的了解程度,决定着我们能否顺利开展日常生活。

742
来自专栏IT派

帮程序员减压放松的 10 个良心网站

IT派 - {技术青年圈} 持续关注互联网、大数据、人工智能领域 同学们工作之余,不妨放下微博跟朋友圈,来这10个网站感受一下看着就醉了的情境:「念完往上一...

3245
来自专栏web编程技术分享

Java程序猿 :2016 年终小结010203

2523
来自专栏腾讯NEXT学位

据说只有程序员看得懂这些段子

37310
来自专栏阮一峰的网络日志

低俗技术大观

事先声明,下面的内容可能会让你产生生理或心理上的不适,请谨慎阅读和点击。(不过必须说,它们相当有趣。)

692

扫码关注云+社区