架构设计的几点思考
软件架构的意义
软件架构的意义是什么,有很多不同的理解和争议,这里不想就软件架构的意义给出完整的定义,而是想聊聊其中的一点:软件架构是沟通 (Architecture is communication),关于软件架构的更多意义,建议参考这篇别人的旧文。
为什么软件架构意味着沟通呢?因为软件工程本身是一个组织一群人为了一个问题进行创造性劳动的过程,因为软件工程本身的特点,所以沟通的重要性是软件工程区别于传统工程的一个显著特点。关于这一点,我之前的帖子已经解释过,这里不再展开。
什么样的架构有利于沟通呢?
在回答这个问题之前,我们先来看一张图。
如果汽车设计师通过这张图来向其他人解释汽车是什么的时候,我想除了相关的专家不会有人能够轻易理解每个部件在整个汽车中的用途,以及他们是如何在一起工作的。
为什么呢?在《金字塔原理》这本书里提到,人一次能够理

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
9月26日云栖精选夜读 | 老司机也该掌握的MySQL优化指南
当MySQL单表记录数过大时,增删改查性能都会急剧下降,所以我们本文会提供一些优化参考,大家可以参考以下步骤来优化:一、单表优化 除非单表数据未来会一直不断上涨,否则不要一开始就考虑拆分,拆分会带来逻辑、部署、运维的各种复杂度。 热点热议 老司机也该掌握的MySQL优化指南 作者:技术小能手发表在:dbaplus社群 新制造“1%”的威力:良品率提升1个百分点,每年节省上亿生产成本 作者:技术小能手发表在:天下网商 阿里云成立技术脱贫联盟,要用技术助力脱贫 作者:技术小能手发表在:天下网商 知识整理 超好用的Unix/Linux 命令技巧 大神为你详细解读 作者:技术小能手发表在:良许Linux 纯手写实现一个高可用的RPC 作者:技术小能手发表在:java进阶架构师 从源码的角度浅谈Activity、Window、View之间的关系 作者:技术小能手发表在:IT先森养成记 Android屏幕适配框架-(今日头条终极适配方案) 作者:技术小能手发表在:终端研发部 微信小程序抖音实战-小视频弹幕 作者:技术小能手发表在:编程微刊 美文回顾 PostgreSQL何以支持丰富的NoSQL特性...
- 下一篇
全栈化与效率
现在全栈化已经成为了很多团队的默认标签,但是对于全栈到底意味着什么,为什么要全栈化我们的同学还是有些困惑的,我尝试着从自己的理解阐述一下,欢迎拍砖。 从生产线说起 话说当年亨利福特发明了生产线……哦,不是亨利福特,其实细究历史,生产线也不是凭空发明的,其雏形来自于手工生产中的分工合作,而分工合作最早起源于中国,中国自先秦时期就在武器制造等领域实践了分工合作的方法来提高生产效率。 在生产线发明之前,所有的工作都是一个工匠按照工序顺序完成的,比如就制作陶器来说,从挖泥、运泥、扮土、制坯等等一系列工作都是同一个人完成的,这样这个工匠就具备完成工作的所有技能。 生产线模式彻底改变了传统的生产模式,工匠按照工序来分工协作,每个人只负责整个工序上的一个片段,通过机械传送带输送半成品。因为每个人的工作都是比较固定而简单的,所以工人不需要太多的培训就可以
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS8安装Docker,最新的服务器搭配容器使用
- CentOS7安装Docker,走上虚拟化容器引擎之路
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7,8上快速安装Gitea,搭建Git服务器