博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
架构师必看-架构之美第14章-两个系统的故事:现代软件神话(一)
阅读量:7251 次
发布时间:2019-06-29

本文共 728 字,大约阅读时间需要 2 分钟。

            架构是一种很浪费空间的艺术。                        —Philip Johnson

            软件系统就像一座由建筑和后面的路构成的城市—由公路和旅馆构成的错综复杂的网络。在繁忙的城市里发生着许多事情,控制流不断产生,它们的生命在城市中交织在一

起,然后死亡。丰富的数据积聚在一起、存储起来,然后销毁。有各式各样的建筑:有的高大美丽,有的低矮实用,还有的坍塌破损。随着数据围绕着它们流动,形成了交通堵塞和追尾、高峰时段和道路维护。软件之城的品质直接与其中包含多少城市规划有关。某些软件系统很幸运,创建时由有经验的架构师进行了深思熟虑的设计,在构建时体现出了优雅和平衡,有很好的地图,便于导航。另一些软件系统就没有这么幸运,基本上是一些通过偶然聚集的代码渐渐形成的,交通基础设施不足,建筑单调而平凡,置身于其中时会完全迷失,找不着路。

            你的代码愿意待在怎样的“城市”中?你愿意构建哪一种城市?

             在本章中,我将讲述这样两个软件城市的故事。这是真实的故事,就像所有好的故事一样,这个故事最终是有教育意义的。人们说经验是伟大的老师,但最好是别人的经验,如果你能从这些项目的错误和成功之中学习,你(和你的软件)可能会避免很多的痛苦。本章中的这两个系统特别有趣,因为它们有很大不同,尽管从表面上看非常相似:

 • 它们具有相似的规模(大约500 000行代码)。

• 它们都是“嵌入式”消费音频设备。

• 每种软件的生态系统都是成熟的,已经经历了许多的产品版本。
• 两种解决方案都是基于Linux的。
• 编码采用C++语言。
• 它们都是由“有经验的”程序员开发的(在某些情况下,他们本应知道得更多)。
• 程序员本身就是架构师。
在这个故事中,人名都已改变,目的是保护那些无辜的人(和有罪的人)。

转载地址:http://dvhbm.baihongyu.com/

你可能感兴趣的文章
移动办公是不能阻挡的未来办公趋势
查看>>
docker简单介绍及安装
查看>>
DNS服务(1)基本概念详解
查看>>
Redhat7DNS搭建
查看>>
python之rabbitMQ
查看>>
sys和shutil
查看>>
Django模板——html转义
查看>>
数理统计总结篇第一章
查看>>
javascript开发模式
查看>>
Docker底层技术
查看>>
明全策:黄金波段上攻1345一线,1.24现货伦敦金分析策略
查看>>
【小松教你手游开发】【unity实用技能】unity ngui wp8上使用动态字体消失或碎片化的问...
查看>>
【小松教你手游开发】【unity实用技能】yiled return null在unity中的作用
查看>>
RAC 12.1
查看>>
跳转控制器用 push 还是 modal,怎么选择?
查看>>
第二周学习总结
查看>>
linux shell基本特性
查看>>
oracle 启动阶段
查看>>
要听 1001 个支付故事,这次你估计不用花钱
查看>>
软件测试人员应该得到实时生产错误的责任吗?
查看>>