05 | 架构与实现:它们的连接与分界?
胡峰
该思维导图由 AI 生成,仅供参考
把一种想法、一个需求变成代码,这叫 “实现”,而在此之前,技术上有一个过程称为设计,设计中有个特别的阶段叫 “架构”。
程序员成长的很长一段路上,一直是在 “实现”,当有一天,需要承担起 “架构” 的责任时,可能会有一点搞不清两者的差异与界线。
是什么
架构是什么?众说纷纭。
架构(Architecture)一词最早源自建筑学术语,后来才被计算机科学领域借用。以下是其在维基百科(Wikipedia)中的定义:
架构是规划、设计和构建建筑及其物理结构的过程与产物。在计算机工程中,架构是描述功能、组织和计算机系统实现的一组规则与方法。
Architecture is both the process and the product of planning, designing, and constructing bui
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
文章介绍了架构与实现之间的关系,强调了架构师在传递架构决策和维持一致性方面的挑战。作者指出,架构升级实际上是系统的重新布局与规划,成本和效率的重新计算与设计,以及“熵”的重新分布与管理。此外,文章还提到了架构与实现之间的断裂带,以及导致分道扬镳的原因,如沟通问题、技术能力不足、态度问题和现实问题。作者强调了架构的核心关注点是系统的“熵”,而实现则注重“简”,并指出架构的可实现性是等效的,但实现的成本、效率绝不会相同。整体而言,文章深入浅出地介绍了架构与实现的概念、作用和关注点,为读者提供了有益的技术经验分享。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《程序员进阶攻略》,新⼈⾸单¥68
《程序员进阶攻略》,新⼈⾸单¥68
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(24)
- 最新
- 精选
- Starbug补一下当时的学习笔记,请批评指正~ 1.用城市建筑设计类比软件架构 建筑架构的边界、区域划分:对应程序的功能模块划分 道路规划:软件接口与交互 2.软件开发 软件设计:需求分析、架构设计等,架构主要用在这一步 软件实现:变成代码并交付 3.架构的关注点:熵 熵表示软件系统的混乱程度,越大则表示越混乱,难以开发测试和维护 需求的堆积与变更:熵增 重构,架构升级:减少一部分熵 软件的生命周期内,就是在不断平衡熵,直到最后软件生命结束 4.实现的关注点:简(减) 简化软件代码,减少代码量,减少开发时间,减少测试时间,减少潜在bug数,减少未来的维护、理解与沟通成本 5.软件架构的断裂带:执行过程 多人协作,沟通协调 作为架构负责人:把控其他人产出是否没有超出架构边界,把自己的主要精力投入到战略性的问题上 6.架构实现能力的等效性 不同的架构表示的不同的结构与流程设计思想 同一个需求,可以用不同的架构实现,只是实现过程中的成本不同,因此架构实现能力是具有等效性的 根据实现成本、后期可扩展性等因素,选择合适的架构
作者回复: 恩,浓缩了本文的关键点
2018-09-2317 - 钱最近也订阅了《从0开始学习架构》,两个专栏比对着学习更好玩。 架构一词确实难以理解,换成架构设计好理解一些,我的理解就是软件的顶层设计,规划开发软件使用什么技术,不使用什么技术,以及为什么,然后就是软件最后实现成什么样子,加上对边界、交互、成本、周期的把控。 实现-好理解,将蓝图从纸上或脑中搬到现实之中。 艺术源于生活高于生活,软件设计也是一样滴!
作者回复: 👍
2018-08-1427 - JohnT3e架构在于取舍之间,包括开始的设计和实现的落地情况。哪些是应该“取”的,哪些是应该“舍”的。需要在实践中不断体会。另外,语音中发现两个错误:一个是:重(chong)构不是重(zhong)构:另一个是单体应用不是单位应用。
作者回复: 恩。😂Bug
2018-08-1336 - Jaime快照是指什么哈?
作者回复: 是一个比喻,就是定期去检视系统的状态
2018-10-285 - JimmyZ低维度的我默默流泪。格局又大了些,学到了东西,不错。自己工作中也是感觉公司技术团体有很多问题,感觉是1+1<2,还有个问题,很多同事帮别人改一个bug,自己做了一个事,总是要搞得大家都知道,这是什么心理?如何改善?
作者回复: 适当的表现自己还好,但不能帮忙的每件事都求回报,这就变味了
2018-08-1325 - 程小凯大佬有没有优秀的架构方面的学习资料推荐呢
作者回复: 隔壁专栏了解下?不过我觉得架构不是一种具体的技术,多写代码,多解决问题,负责更多更大的系统,能力经验到了,就通透了
2018-09-144 - greatcl在实践中,我的做法是定期对系统的状态做快照 ------------------------------ 做快照是怎么做法,不是太懂
作者回复: 这是一个比喻法,不是一种技术方法。就是去定期同步了解系统的当前状态
2018-08-232 - feifei又从一个新的角度审视架构师,很有收获,谢谢
作者回复: 😄
2018-08-152 - 云学很独特的分享,很喜欢这种文章
作者回复: 谢谢🙏😊
2018-08-142 - Jiantao架构师成长路线有吗?
作者回复: 应该没有秘籍,看完就成了架构师,架构师不过是程序员成长路上的一个角色
2018-08-132
收起评论