你的架构是如何一步步腐化的? 当初采用新技术的乐趣随着项目周期的增长而迅速减少。无论当初的选择多么光鲜,半年、一年之后,只要这个项目依然活跃,业务在扩张——越来越多的功能需要加入,一些公共的问题就会逐渐显露出来。构建过慢,完成新功能让你痛不欲生,团队成员无法很快融入,文档无法及时更新等等。 在长期运转的项目中,架构的腐化是怎么产生的?为什么常见的面向对象技术无法解决这类问题?如何延缓架构的腐化
转载
2024-06-18 15:17:53
21阅读
# 架构腐化:从代码质量看软件发展
在软件开发的过程中,架构腐化是一个常见却不容忽视的问题。它指的是随着时间的推移,系统架构逐渐变得不再符合原有设计或失去应有的灵活性和可维护性。这种现象常常导致代码质量下降,开发效率降低,修复漏洞变得困难,甚至影响到产品的市场竞争力。
## 架构腐化的原因
架构腐化的主要原因包括:
1. **技术债务**:由于项目进度的压力,开发团队可能会选择快捷方案,而
原创
2024-09-25 08:05:03
60阅读
在敏捷开发环境下,系统通过迭代增量的交付价值,系统架构也是如此。团队不可能在项目之初就建立完美的系统架构,系统架构应该随着系统迭代不断演进。架构演进和架构腐化是看待架构的不同视角:架构腐化着眼于现状,架构演进侧重于未来架构腐化不可避免,随着时间流转腐化现象必然发生。而我们需要做的是:通过某种方式及早发现和修正
作者:京东科技 倪新明在敏捷开发环境下,系统通过
转载
2023-10-08 06:48:06
209阅读
来源:InfoQ
本文将尝试解释架构腐化之谜,并提出相应的解决方案。读者需要具备相当的开发经验——至少在同一个项目的开发上一年以上;公司负责架构演进、产品演进的角色会从本文找到灵感。
新技术层出不穷。过去十年时间里,我们经历了许多激动人心的新技术,包括那些新的框架、语言、平台、编程模型等等。这些新技术极大地改善了开发人员的工作环境,缩短了产品和项目
转载
精选
2011-09-20 16:23:55
385阅读
目前占据主流的阵营有:RailsJava EE平台。值得一提的是Java VM已经成为一种新的宿主平台,Scala、JRuby更为活跃并引人瞩目LAMP平台。Linux/MySQL/Apache并没有多少变化,PHP社区从Rails社区获得了不少养分,出现了许多更加优秀的开发框架Microsoft .NET平台Django常见的解决方案升级工作环境分阶段的构建分布式构建采用JREBEL或者SP
2020-06-19这篇文章是我学习 软件架构与中间件 课程时分享的论文。可以说,这篇文章塑造了我基本的科研观,也养成了我如今看论文的习惯。感谢老师们,也感谢恒恒对我的帮助。论文地址: https://ieeexplore.ieee.org/document/8417151一、 对问题的概述1.1. 基本概念架构腐化(architectural decay)是指软件架构性能随着时间和版本
转载
2023-12-23 17:46:26
254阅读
图片来源:pexels.com分享一篇讲解大型网站的架构演进过程的文章,相信看完会有所收获。文章在介绍一些基本概念后,按照以下过程阐述了整个架构的演进过程:单机架构第一次演进:Tomcat与数据库分开部署第二次演进:引入本地缓存和分布式缓存第三次演进:引入反向代理实现负载均衡第四次演进:数据库读写分离第五次演进:数据库按业务分库第六次演进:把大表拆分为小表第七次演进:使用LVS或F5来使多个Ngi
转载
2023-12-12 22:14:07
46阅读
防止架构腐化是一个非常重要的话题,特别是对于一名刚入行的开发者来说。为了帮助他理解如何防止架构腐化,我将介绍整个过程,并提供具体的代码示例。
流程
为了防止架构腐化,我们需要遵循以下步骤:
1. 设计稳定的架构:首先,我们需要设计一个稳定的架构,这是防止架构腐化的基础。稳定的架构应该能够满足需求,并具备可扩展性和可维护性。
2. 使用设计模式:设计模式是一种解决常见设计问题的经验总结。通过使
原创
2023-12-15 10:34:14
51阅读
本文讲的是“云计算”时代 存储架构如何变化,【IT168 资讯】如何从存储架构层面,使企业的数据中心更适合云计算的环境?要解决这一问题,先要弄清楚什么是云计算,以及“云”对企业的存储有哪些需求。 据分析机构预测,到2012年,在云计算上投入的总体 IT 花费将增长至少3倍。你很可能听到过许多关于云计算的潜在优势。也许你的公司已经开始购买一些云服务,而不再是每当一个新的需求产生时将其加入到现有
架构的腐化是必然的,不以人的意志为转移。我们先从一个故事开始,从前有一个公司,这个公司有一个部门,这个部门里有两个组。两个组做的项目比较类似,都是策略类项目。其中一个组做需求基本靠堆人,业务和 PM 的所有需求,能找到人,并且让这个人在各种场景,各种模块,各种分支里加 if else 就可以搞定,代码膨胀飞快。很快没人能说得清项目内的细节,但是公司业务涉及的策略又很多,需求做不过来,所以疯狂堆人,
原创
2021-02-25 09:54:11
218阅读
架构的腐化是必然的,不以人的意志为转移。我们先从一个故事开始,从前有一个公司
转载
2022-11-10 12:59:31
53阅读
typora-copy-images-to: img01 系统架构的演变随着互联网的发展,网站应用的规模不断扩大。需求的激增,带来的是技术上的压力。系统架构也因此也不断的演 进、升级、迭代。从单一应用,到垂直拆分,到分布式服务,到SOA,以及现在火热的微服务架构,还有在Google 带领下来势汹涌的Service Mesh。我们到底是该乘坐微服务的船只驶向远方,还是偏安逸得过且过?其实生活不止眼前
转载
2023-08-06 00:23:56
51阅读
前一篇文章简述了什么是软件。那么什么是软件架构呢?按照惯例,我们来看看是什么问题,是谁的问题。 要解决谁的问题? 如前所述,软件实际上就是把现实生活模拟到计算机中,并且软件是需要在计算机的硬件中运行起来的。要做到这一点需要解决两个问题: 一、业务问题 具体的现实生活状态下,没有软件的时候,所解决的问题的主体是谁,解决的是什么问题,是如何解决,如何运作的? 二、计算机问题如何把现实生活用软
转载
2024-01-29 01:36:38
58阅读
构建工具的定义构建就是做这件事情,把源代码转换成发布到线上的可执行 JavaScrip、CSS、HTML 代码,包括如下内容。代码转换:TypeScript 编译成 JavaScript、SCSS 编译成 CSS 等。
文件优化:压缩 JavaScript、CSS、HTML 代码,压缩合并图片等。
代码分割:提取多个页面的公共代码、提取首屏不需要执行部分的代码让其异步加载。
模块合并:在采用模块化
架构腐化一词我已经忘了从哪本书上看到的了,但是这个词给我留下了非常深刻的印象。关键在于“腐”一词,充分而又形
原创
2022-01-04 11:01:56
421阅读
在3月份写了一篇质疑中台的博客,后来在网上又看到了《中台,我信了你的邪 | 深氪》一文,该文早在今年1月份就指出了“中台”架构理念在企业实际实施中出现的一些问题。而近期又看到了诸多解释企业实施中台架构不理想的原因分析的文章,这些解释性文章总体的意思是说,因为阿里中台是成功的,所以中台架构应该没问题,实施不好主要是企业自己的原因,业务需求弄不清,企业自己的团队水平不够,企业一把手不重视,相应的组织架
转载
2023-12-12 22:04:11
32阅读
一、背景近年来,iOS工程复杂度高的负面影响逐渐暴露,很多同学都受到了iOS打包慢和打包复杂的“摧残”,业务开发效率受到很大影响。我记得曾经有个同学跟我诉苦,他把几个模块打包后集成到主工程,这个过程中每个步骤都有打包失败,总共花了大半天时间。Alibaba.com是跨境B类电商业务,2012年开始开发iOS客户端。为了支撑业务发展,2016年进行组件化改造,从单一工程架构演化模块化架构。随着业务和
原创
2022-01-06 02:36:10
598阅读
11年刚进入一个新部门,接手一个老项目,典型的legacy code , 一个jsp 好几千行,那叫一个乱。但是细细瞧瞧, 还有不少代码是不错的,依稀能看到漂亮代码的影子,可以想象,当初的架构应该还是优美的,只不过经过了若干程序员之手以后,代码慢慢的腐化了。07 年做的一个项目也是这样,刚开始的时候设计了一个漂亮的架构,大家都严格遵循规则写代码,很注意维护架构的完整性和一致性,也做Code Review,坚决杜绝 dirty code。 随着时间的推移,项目的进度压力加大,什么原则了,纪律了都抛弃了,实现功能是第一要务, 最后系统变成了一个难于理清的大怪物, 现在大家都盼望着它赶紧退休,推倒重
转载
2013-07-01 20:20:00
111阅读
2评论
6.2.2 几种常见架构模式前文讲过,在实践中,人们总结出了一些常用的软件系统结构高层模式,以供应用系统设计时参考。这些模式包括:单服务两层/多层C/S;MVC结构;面向服务的SOA与多服务集合;数据交换总线等。1. 单机应用系统(Standalone)准确地讲,单机应用系统是最简单的软件结构,是指运行在一台物理机器上的独立应用程序。当然,该应用可以是多进程或多线程的。在信息系统普及之
转载
2023-05-30 12:56:30
179阅读
# 什么是架构腐化现象
架构腐化现象是指软件系统在长期开发和维护过程中,由于各种原因导致架构质量逐渐下降的现象。随着软件系统的不断演化,架构可能会出现一系列问题,例如紧耦合、低内聚、过度复杂等。架构腐化会导致开发效率下降、系统性能下降、可维护性差等问题,给软件开发和维护带来困难。
## 架构腐化的原因
### 1. 增量开发
随着软件系统的不断演化,开发人员往往需要在已有架构的基础上进行增
原创
2023-07-09 09:03:49
213阅读