乔新亮的 CTO 成长复盘
乔新亮
彩食鲜副总裁兼 CTO、前苏宁科技集团副总裁、TGO 鲲鹏会荣誉导师
24236 人已学习
新⼈⾸单¥59
登录后,你可以任选2讲全文学习
课程目录
已完结/共 29 讲
开篇词 (1讲)
结束语 (1讲)
编辑手记 (1讲)
乔新亮的 CTO 成长复盘
15
15
1.0x
00:00/00:00
登录|注册

18 | 架构设计,专业分工和协作精神的体现

元素和关系的拆分和归类
元素和关系的抽象
确定性内容和不确定性内容的区分
与架构设计核心原则的一致性
实现企业营收层面的“开源”
微服务拆分的颗粒度问题
让系统的分工更明确、责任更清晰
接口隔离原则
单一职责原则
高内聚、松耦合
人类解决复杂问题的思维流程
简单知识的复杂性
架构设计的核心原则
落地复杂架构设计的关键认知
关键认知
中台架构
微服务架构
架构设计的核心能力
拆分和合并的设计过程
专业分工、充分协作的思想
业务架构设计的重要性
架构设计的核心认知
架构设计就像优秀的组织协作一样
结语
复杂架构设计如何落地执行
认知延伸:微服务和中台架构
从程序员到架构师,能力提升
好的架构设计体现专业分工和协作精神
架构设计的核心理念

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

你好,我是乔新亮。今天,我想和你聊聊,关于架构设计的一些认知和体会。
作为技术人,最常接触的概念,恐怕就是架构设计了。即便是初出茅庐的新手程序员,可能也听说过 6 大设计原则与 23 种设计模式。因为,要成为管理者或技术专家,架构设计绝对是你绕不开的槛。
因此,关于架构设计的书和课程非常多,多到简直学不完。如果用我们专栏文章的形式来讲,写出一百篇文章都不为过。
但在今天,我们只聊一点认知,我认为,也是架构设计最核心的认知:好的架构设计,就像优秀的组织协作一样,既能帮助 IT 系统做好各模块的专业分工,又能体现模块间的协作精神
认知讲完了,是不是感觉有些熟悉?
没错,其实在很多架构设计思想里,我们都能找到这句话的影子,比如“高内聚、松耦合”、“单一职责原则”、“接口隔离原则”,太多了。
你可能会想,老乔坑人呢,作为一个 CTO ,在架构设计这一讲,就交付了一个这么基础的概念。
没错,这个概念确实很基础,但我想告诉你,其实架构设计,尤其是业务 / 应用架构的设计,原本就没有那么复杂。
工作了近 20 年后,我发现,如果一名架构师存在职业发展瓶颈,那么他的问题大概率是简单的设计方法没有执行好,而不是复杂的设计方法没学会。
复杂的学会了,简单的却没做好,听起来很奇怪吧?下面,我们详细聊聊,这究竟是怎么一回事。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

架构设计是技术领域中不可或缺的重要概念,类似于优秀的组织协作,能帮助 IT 系统做好各模块的专业分工,体现模块间的协作精神。优秀的架构师需要不断提升对复杂业务的拆分能力、对可复用部分的抽象能力、对拆分过程的颗粒度把握,以及对未来变化的考量和设计。微服务和中台架构是架构设计的实践模式,但并非解决架构问题的“灵丹妙药”。在实践中,专业分工和协作精神是架构师的基础与核心能力。复杂架构设计的落地执行方法包括关键认知、元素和关系的抽象、组件归类、服务和关系的建设等内容,帮助架构师更好地落地复杂架构设计,适应业务发展的需求。整体而言,本文通过介绍架构设计的核心原则、微服务和中台架构以及复杂架构设计的落地执行方法,为读者提供了深入了解架构设计的重要概念和实践价值的内容。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《乔新亮的 CTO 成长复盘》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(32)

  • 最新
  • 精选
  • :)
    架构设计的终极目的: 快速响应业务需求,对业务达到可持续的稳定的支撑! 为了达到上述的目的,不同的时间,不同的地点,不同的环境,不同的发展阶段,都可能有不同的解决方案措施,但是别问白猫黑猫,抓到老鼠就是好猫。 之所以有各种各样的架构,很大程度是为了应对"复杂性", 如果事情本身不复杂,为了架构而架构,就是舍本逐末。而影响到事物复杂性的因素主要有:事物数量多,事物联系多,事物变化多。为了解决复杂性,我们就应该 化繁为简。然而,事物的复杂性永远不会消失只会转移。将事物划分的过粗,可能导致单个模块内部过于复杂;而将模块划分的过细,导致整体的模块的数量过多,以及潜在的联系过多。所以要把握一个度,这个度的标准就是"高内聚,低耦合"。为了应对复杂度中"变化多"的因素,我们应该从业务发展的角度来看,哪些部分是稳定的,哪些部分又是将来可能发生变化的,将变化的部分是否可以抽象出不变的框架,作为扩展点。

    作者回复: 你好,:) 说的太好了

    2020-12-04
    2
    30
  • spark
    为了写心得体会,我读了专栏内容2遍和阅读了所有留言的内容,大家的留言内容让我受益匪浅。 追求架构的“道”,是需要直面的问题。抽象能力让我们抓住核心稳定的对象,自顶向下分解(专业分工)。同理心让我们理解用户的需求,组合我们的分解(协作精神),分工是为了规模化和高效协作。 不仅仅是架构设计,团队整体形成架构共识也很重要,架构不仅仅在架构师的脑里创造,也需要在团队每个人的脑里达成共识。

    作者回复: 你好,spark 你太优秀了,看过你的写的体会总结,真的写的太棒了

    2020-12-05
    12
  • 谷常生
    《闪电式扩张》中把企业分成五个阶段:家庭、部落、村庄、城市、国家。架构债务,其中一个原因是组织已经发展到了城市或国家阶段,但是系统还停留在部落甚至家庭阶段。 康威定律也指出,组织架构和系统架构之间有一种隐含的映射关系。组织,需要分工和协作,架构也是。 「善战者无赫赫之功,善医者无煌煌之名」,持续提升业务和架构能力,不要满足于当个救火队员。 「沟通创业价值,分享带来快乐」,坚持留言的第 12 篇。

    作者回复: 你好,gucs 善战者无赫赫之功,善医者无煌煌之名,这个说的太好了。 留言区一定要看,很多留言都真的很棒,我也学习到了很多。

    2020-12-13
    11
  • 陈从宾
    架构即人性: 1、组织架构解决的是人和人之间、组织和组织之间的分工和协作。“人”是一个最复杂和最不确定的元素,为了解决人自身的问题(惰性、会犯错....)、人和人之间的问题(主要是信任问题),人用机器来解决“人”相对确定的部分,然后不断的拓展可确定的部分。所以才有了各种机器,然后产生了很多系统。 2、软件架构解决的是系统或者组件之间的分工和协作。而系统或组件的源头是解决人的问题(提升人的效率、降低出错率)。其本质还是解决人和人之间的分工和协作问题。不管是分布式架构、微服务、单体架构,其实都是对现实中人和人之间协作方式中最佳实践的“机器实现”而已。所以做架构师一定要 有老师说的“洞察人性”的素质。 3、架构之间没有优劣,就像人和人之间没有绝对的对错,场景不同,所处的环境不同,知识背景不同,不要妄言对错。相对成熟一点的标椎可能就像老师传达的那样:帮助业务成长,促进组织成功。

    作者回复: 你好,从宾 这种理解真棒,说明在上一个新的台阶的过程中。

    2020-12-18
    2
    9
  • E
    乔老师这么多节课程其实一直在给我们布道“Trade-Off”的理念,要懂得前进,也要懂得刹车,不能陷入任何一种偏执的境地,随时提醒自己做这件事情的最初目的,不然容易走火入魔。

    作者回复: 你好,E 谢谢分享,总结的特别好

    2020-12-04
    8
  • Weehua
    从技术方面的架构师设计,我联想到了最近公司的一些组织架构调整和工作职责边界的问题。专业分工,正所谓术业有专攻,确实要让专业的人做专业的事情。组织分工明确之后,协作也很重要。有些组织调整,专业分工明确了,但是协作缺失了,也不能发挥组织的协同效用,不能做到取长补短。系统设计中,工作中,总有那些无法明确划分职责边界的灰色地带,这个时候怎么提高协作能力,就是考验技术管理者的“架构设计”能力了。 我也联想到了康威定律,有前辈说在工作中反过来看康威定律,会有不同的感受。

    作者回复: 你好,Weehua 触类旁通,很多事情都是相通的,谢谢分享。

    2020-12-14
    4
  • leslie
    问题拆解、专人专事、协同合作,这就是我对于老师今天课程的理解。

    作者回复: 你好, leslie 看到你几乎每篇都留言,都有很深刻的思考,棒

    2021-03-07
    2
  • Monday
    好的架构设计,就像优秀的组织协作一样,既能帮助 IT 系统做好各模块的专业分工,又能体现模块间的协作精神 让我想到了多线程里的,分工和同步。

    作者回复: 你好,Monday 很多事情道理、逻辑是相同的,思考的好。

    2020-12-08
    2
  • Keith T.Maxwell
    这节内容我重复听了3个多小时。

    作者回复: 你好,Keith T.Maxwell 谢谢,希望有用

    2020-12-04
    2
    2
  • 黄智勇
    我前公司的老板是这样设计的,把所有的功能全部用存储过程编写,所有的页面都控件等都在数据库登记,全都可以配置,配置某个用户的某个界面的某个文本框的长度,按钮是否可见等等,最终实现类似SAP那样,页面大多都是实施人员配置,带来的后果当然是界面逻辑非常复杂,而且很难定制化页面 你觉得这样的设计有前途不? 我觉得没前途,所以我离开了这个10年的创业公司,去了一家上市公司做 高级前端工程师 了

    作者回复: 你好, 黄智勇 没有前途

    2021-02-11
    1
收起评论
显示
设置
留言
32
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部