软件架构到底是什么?开发者们这样说

文摘   2024-05-31 06:35   美国  
对于软件开发人员来说,软件架构是一个令人颇为困惑的概念。我请MSE的13位开发人员从不同角度分享了他们对软件架构的理解和看法。

“指导开发出能让用户感到宾至如归、身居中心和充满活力的程序,运用和谐几何的原理,同时深刻关注用户生活中的真实需求和模式,使他们感受到被帮助的感觉如同马、玫瑰和噼啪作响的篝火带给我们的感觉。”

“鬼知道那是什么,所以我们为什么干脆不再去纠结它呢?反正都是设计。”

“那些再改会很难的设计决策。”

“软件架构代表了阻止开发者和维护者进行无价值创意的系统决策。”

“所有的架构都是设计,但并非所有的设计都是架构。架构代表了一组重要的设计决策,这些决策决定了系统的形式和功能,其中重要性是由变更成本来度量的。

“说真的,我不确定架构是否等同于拓扑,但很大一部分与之相关。数据和逻辑在各个组件之间是如何分布的?这些组件是如何连接的?使用了哪些协议?”

“软件架构是你心中关于这个系统如何工作的一张图,而它几乎总是与其他人的图略有不同。我们甚至没有标准的基本数据结构图,这一点很能说明问题。”

那些用来混合搭配以创建新的软件系统的框架和库(别忘了还有它们的配置文件🤪)。”

“架构不影响你写什么样的代码,它影响你在哪里写代码。”

“架构是一种构建计划,是技术负责人和开发人员之间的沟通方式。”

“我认为软件架构就是编程和软件设计活动,这些活动让系统扩展成多个功能或类(class)时仍然易于理解。”

“软件架构是你开发思路结构的逐步显现。做好了,你的系统将随着需求的变化不断增长和演变。做错了,对系统如何实际工作的误解会带来一场代价高昂的噩梦。”

“架构不仅解决今天的问题,还解决未来的问题:将来的扩展、扩充、替代、维护、操作等。”

在13位开发人员的眼里,软件架构不仅仅是一张设计图,更是一种构建计划,是技术负责人和开发人员之间的沟通方式。它决定着系统的形式和功能,影响着代码的编写位置、未来的扩展与维护以及整个组织的目标实现。正确的软件架构可以为系统的持续发展奠定坚实基础,而错误的架构决策则可能导致昂贵的错误和无法挽回的后果。



推荐阅读
1. 需要碰些南墙,才能顿悟这10个道理
2. 如何成为一名合格的软件架构师
3. CMMI的美式吐槽 - 中文版
4. 在软件世道里,真相和现实有时很扎心
5. 颠覆认知:你不一定知道的CMMI评估那些事
6. 一针不见血的CMMI十个真相

三尺讲桌就在这小小二维码,长按二维码“识别”关注 



老丛讲桌
这是一个小小学习园地,老丛会介绍一些有趣的计算机相关故事(如人物,历史,事件等),也会分享一些专业知识和个人感悟。
 最新文章