程序员进阶攻略
胡峰
京东成都研究院技术专家
33679 人已学习
新⼈⾸单¥68
登录后,你可以任选4讲全文学习
课程目录
已完结/共 65 讲
蜕变:破茧成蝶 (3讲)
结束语 (1讲)
程序员进阶攻略
15
15
1.0x
00:00/00:00
登录|注册

05 | 架构与实现:它们的连接与分界?

实现的成本、效率绝不会相同
架构的可实现性是等效的
架构决策流决定了实现决策流的方向与复杂度
简单、简洁、简明、简化
现实问题
态度问题
水平问题
沟通问题
系统的生命周期变化
系统的混乱程度
组装整合
连接交互
切分协作
确定边界
描述功能、组织和计算机系统实现的一组规则与方法
等效性
架构与实现的关系
实现的核心关注点:简
实现的最终交付物是程序代码
断裂带
架构的核心关注点:熵
架构师的工作
架构是规划、设计和构建建筑及其物理结构的过程与产物
实现
架构
架构与实现

该思维导图由 AI 生成,仅供参考

把一种想法、一个需求变成代码,这叫 “实现”,而在此之前,技术上有一个过程称为设计,设计中有个特别的阶段叫 “架构”。
程序员成长的很长一段路上,一直是在 “实现”,当有一天,需要承担起 “架构” 的责任时,可能会有一点搞不清两者的差异与界线。

是什么

架构是什么?众说纷纭。
架构(Architecture)一词最早源自建筑学术语,后来才被计算机科学领域借用。以下是其在维基百科(Wikipedia)中的定义:
架构是规划、设计和构建建筑及其物理结构的过程与产物。在计算机工程中,架构是描述功能、组织和计算机系统实现的一组规则与方法。  
Architecture is both the process and the product of planning,   designing, and constructing bui
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

文章介绍了架构与实现之间的关系,强调了架构师在传递架构决策和维持一致性方面的挑战。作者指出,架构升级实际上是系统的重新布局与规划,成本和效率的重新计算与设计,以及“熵”的重新分布与管理。此外,文章还提到了架构与实现之间的断裂带,以及导致分道扬镳的原因,如沟通问题、技术能力不足、态度问题和现实问题。作者强调了架构的核心关注点是系统的“熵”,而实现则注重“简”,并指出架构的可实现性是等效的,但实现的成本、效率绝不会相同。整体而言,文章深入浅出地介绍了架构与实现的概念、作用和关注点,为读者提供了有益的技术经验分享。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《程序员进阶攻略》
新⼈⾸单¥68
立即购买
登录 后留言

全部留言(24)

  • 最新
  • 精选
  • Starbug
    补一下当时的学习笔记,请批评指正~ 1.用城市建筑设计类比软件架构 建筑架构的边界、区域划分:对应程序的功能模块划分 道路规划:软件接口与交互 2.软件开发 软件设计:需求分析、架构设计等,架构主要用在这一步 软件实现:变成代码并交付 3.架构的关注点:熵 熵表示软件系统的混乱程度,越大则表示越混乱,难以开发测试和维护 需求的堆积与变更:熵增 重构,架构升级:减少一部分熵 软件的生命周期内,就是在不断平衡熵,直到最后软件生命结束 4.实现的关注点:简(减) 简化软件代码,减少代码量,减少开发时间,减少测试时间,减少潜在bug数,减少未来的维护、理解与沟通成本 5.软件架构的断裂带:执行过程 多人协作,沟通协调 作为架构负责人:把控其他人产出是否没有超出架构边界,把自己的主要精力投入到战略性的问题上 6.架构实现能力的等效性 不同的架构表示的不同的结构与流程设计思想 同一个需求,可以用不同的架构实现,只是实现过程中的成本不同,因此架构实现能力是具有等效性的 根据实现成本、后期可扩展性等因素,选择合适的架构

    作者回复: 恩,浓缩了本文的关键点

    2018-09-23
    17
  • 最近也订阅了《从0开始学习架构》,两个专栏比对着学习更好玩。 架构一词确实难以理解,换成架构设计好理解一些,我的理解就是软件的顶层设计,规划开发软件使用什么技术,不使用什么技术,以及为什么,然后就是软件最后实现成什么样子,加上对边界、交互、成本、周期的把控。 实现-好理解,将蓝图从纸上或脑中搬到现实之中。 艺术源于生活高于生活,软件设计也是一样滴!

    作者回复: 👍

    2018-08-14
    2
    7
  • JohnT3e
    架构在于取舍之间,包括开始的设计和实现的落地情况。哪些是应该“取”的,哪些是应该“舍”的。需要在实践中不断体会。另外,语音中发现两个错误:一个是:重(chong)构不是重(zhong)构:另一个是单体应用不是单位应用。

    作者回复: 恩。😂Bug

    2018-08-13
    3
    6
  • Jaime
    快照是指什么哈?

    作者回复: 是一个比喻,就是定期去检视系统的状态

    2018-10-28
    5
  • JimmyZ
    低维度的我默默流泪。格局又大了些,学到了东西,不错。自己工作中也是感觉公司技术团体有很多问题,感觉是1+1<2,还有个问题,很多同事帮别人改一个bug,自己做了一个事,总是要搞得大家都知道,这是什么心理?如何改善?

    作者回复: 适当的表现自己还好,但不能帮忙的每件事都求回报,这就变味了

    2018-08-13
    2
    5
  • 程小凯
    大佬有没有优秀的架构方面的学习资料推荐呢

    作者回复: 隔壁专栏了解下?不过我觉得架构不是一种具体的技术,多写代码,多解决问题,负责更多更大的系统,能力经验到了,就通透了

    2018-09-14
    4
  • greatcl
    在实践中,我的做法是定期对系统的状态做快照 ------------------------------ 做快照是怎么做法,不是太懂

    作者回复: 这是一个比喻法,不是一种技术方法。就是去定期同步了解系统的当前状态

    2018-08-23
    2
  • feifei
    又从一个新的角度审视架构师,很有收获,谢谢

    作者回复: 😄

    2018-08-15
    2
  • 云学
    很独特的分享,很喜欢这种文章

    作者回复: 谢谢🙏😊

    2018-08-14
    2
  • Jiantao
    架构师成长路线有吗?

    作者回复: 应该没有秘籍,看完就成了架构师,架构师不过是程序员成长路上的一个角色

    2018-08-13
    2
收起评论
显示
设置
留言
24
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部