18 | 架构设计,专业分工和协作精神的体现
乔新亮
该思维导图由 AI 生成,仅供参考
你好,我是乔新亮。今天,我想和你聊聊,关于架构设计的一些认知和体会。
作为技术人,最常接触的概念,恐怕就是架构设计了。即便是初出茅庐的新手程序员,可能也听说过 6 大设计原则与 23 种设计模式。因为,要成为管理者或技术专家,架构设计绝对是你绕不开的槛。
因此,关于架构设计的书和课程非常多,多到简直学不完。如果用我们专栏文章的形式来讲,写出一百篇文章都不为过。
但在今天,我们只聊一点认知,我认为,也是架构设计最核心的认知:好的架构设计,就像优秀的组织协作一样,既能帮助 IT 系统做好各模块的专业分工,又能体现模块间的协作精神。
认知讲完了,是不是感觉有些熟悉?
没错,其实在很多架构设计思想里,我们都能找到这句话的影子,比如“高内聚、松耦合”、“单一职责原则”、“接口隔离原则”,太多了。
你可能会想,老乔坑人呢,作为一个 CTO ,在架构设计这一讲,就交付了一个这么基础的概念。
没错,这个概念确实很基础,但我想告诉你,其实架构设计,尤其是业务 / 应用架构的设计,原本就没有那么复杂。
工作了近 20 年后,我发现,如果一名架构师存在职业发展瓶颈,那么他的问题大概率是简单的设计方法没有执行好,而不是复杂的设计方法没学会。
复杂的学会了,简单的却没做好,听起来很奇怪吧?下面,我们详细聊聊,这究竟是怎么一回事。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
架构设计是技术领域中不可或缺的重要概念,类似于优秀的组织协作,能帮助 IT 系统做好各模块的专业分工,体现模块间的协作精神。优秀的架构师需要不断提升对复杂业务的拆分能力、对可复用部分的抽象能力、对拆分过程的颗粒度把握,以及对未来变化的考量和设计。微服务和中台架构是架构设计的实践模式,但并非解决架构问题的“灵丹妙药”。在实践中,专业分工和协作精神是架构师的基础与核心能力。复杂架构设计的落地执行方法包括关键认知、元素和关系的抽象、组件归类、服务和关系的建设等内容,帮助架构师更好地落地复杂架构设计,适应业务发展的需求。整体而言,本文通过介绍架构设计的核心原则、微服务和中台架构以及复杂架构设计的落地执行方法,为读者提供了深入了解架构设计的重要概念和实践价值的内容。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《乔新亮的 CTO 成长复盘》,新⼈⾸单¥59
《乔新亮的 CTO 成长复盘》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(32)
- 最新
- 精选
- :)架构设计的终极目的: 快速响应业务需求,对业务达到可持续的稳定的支撑! 为了达到上述的目的,不同的时间,不同的地点,不同的环境,不同的发展阶段,都可能有不同的解决方案措施,但是别问白猫黑猫,抓到老鼠就是好猫。 之所以有各种各样的架构,很大程度是为了应对"复杂性", 如果事情本身不复杂,为了架构而架构,就是舍本逐末。而影响到事物复杂性的因素主要有:事物数量多,事物联系多,事物变化多。为了解决复杂性,我们就应该 化繁为简。然而,事物的复杂性永远不会消失只会转移。将事物划分的过粗,可能导致单个模块内部过于复杂;而将模块划分的过细,导致整体的模块的数量过多,以及潜在的联系过多。所以要把握一个度,这个度的标准就是"高内聚,低耦合"。为了应对复杂度中"变化多"的因素,我们应该从业务发展的角度来看,哪些部分是稳定的,哪些部分又是将来可能发生变化的,将变化的部分是否可以抽象出不变的框架,作为扩展点。
作者回复: 你好,:) 说的太好了
2020-12-04230 - spark为了写心得体会,我读了专栏内容2遍和阅读了所有留言的内容,大家的留言内容让我受益匪浅。 追求架构的“道”,是需要直面的问题。抽象能力让我们抓住核心稳定的对象,自顶向下分解(专业分工)。同理心让我们理解用户的需求,组合我们的分解(协作精神),分工是为了规模化和高效协作。 不仅仅是架构设计,团队整体形成架构共识也很重要,架构不仅仅在架构师的脑里创造,也需要在团队每个人的脑里达成共识。
作者回复: 你好,spark 你太优秀了,看过你的写的体会总结,真的写的太棒了
2020-12-0512 - 谷常生《闪电式扩张》中把企业分成五个阶段:家庭、部落、村庄、城市、国家。架构债务,其中一个原因是组织已经发展到了城市或国家阶段,但是系统还停留在部落甚至家庭阶段。 康威定律也指出,组织架构和系统架构之间有一种隐含的映射关系。组织,需要分工和协作,架构也是。 「善战者无赫赫之功,善医者无煌煌之名」,持续提升业务和架构能力,不要满足于当个救火队员。 「沟通创业价值,分享带来快乐」,坚持留言的第 12 篇。
作者回复: 你好,gucs 善战者无赫赫之功,善医者无煌煌之名,这个说的太好了。 留言区一定要看,很多留言都真的很棒,我也学习到了很多。
2020-12-1311 - 陈从宾架构即人性: 1、组织架构解决的是人和人之间、组织和组织之间的分工和协作。“人”是一个最复杂和最不确定的元素,为了解决人自身的问题(惰性、会犯错....)、人和人之间的问题(主要是信任问题),人用机器来解决“人”相对确定的部分,然后不断的拓展可确定的部分。所以才有了各种机器,然后产生了很多系统。 2、软件架构解决的是系统或者组件之间的分工和协作。而系统或组件的源头是解决人的问题(提升人的效率、降低出错率)。其本质还是解决人和人之间的分工和协作问题。不管是分布式架构、微服务、单体架构,其实都是对现实中人和人之间协作方式中最佳实践的“机器实现”而已。所以做架构师一定要 有老师说的“洞察人性”的素质。 3、架构之间没有优劣,就像人和人之间没有绝对的对错,场景不同,所处的环境不同,知识背景不同,不要妄言对错。相对成熟一点的标椎可能就像老师传达的那样:帮助业务成长,促进组织成功。
作者回复: 你好,从宾 这种理解真棒,说明在上一个新的台阶的过程中。
2020-12-1829 - E乔老师这么多节课程其实一直在给我们布道“Trade-Off”的理念,要懂得前进,也要懂得刹车,不能陷入任何一种偏执的境地,随时提醒自己做这件事情的最初目的,不然容易走火入魔。
作者回复: 你好,E 谢谢分享,总结的特别好
2020-12-048 - Weehua从技术方面的架构师设计,我联想到了最近公司的一些组织架构调整和工作职责边界的问题。专业分工,正所谓术业有专攻,确实要让专业的人做专业的事情。组织分工明确之后,协作也很重要。有些组织调整,专业分工明确了,但是协作缺失了,也不能发挥组织的协同效用,不能做到取长补短。系统设计中,工作中,总有那些无法明确划分职责边界的灰色地带,这个时候怎么提高协作能力,就是考验技术管理者的“架构设计”能力了。 我也联想到了康威定律,有前辈说在工作中反过来看康威定律,会有不同的感受。
作者回复: 你好,Weehua 触类旁通,很多事情都是相通的,谢谢分享。
2020-12-144 - leslie问题拆解、专人专事、协同合作,这就是我对于老师今天课程的理解。
作者回复: 你好, leslie 看到你几乎每篇都留言,都有很深刻的思考,棒
2021-03-072 - Monday好的架构设计,就像优秀的组织协作一样,既能帮助 IT 系统做好各模块的专业分工,又能体现模块间的协作精神 让我想到了多线程里的,分工和同步。
作者回复: 你好,Monday 很多事情道理、逻辑是相同的,思考的好。
2020-12-082 - Keith T.Maxwell这节内容我重复听了3个多小时。
作者回复: 你好,Keith T.Maxwell 谢谢,希望有用
2020-12-0422 - 黄智勇我前公司的老板是这样设计的,把所有的功能全部用存储过程编写,所有的页面都控件等都在数据库登记,全都可以配置,配置某个用户的某个界面的某个文本框的长度,按钮是否可见等等,最终实现类似SAP那样,页面大多都是实施人员配置,带来的后果当然是界面逻辑非常复杂,而且很难定制化页面 你觉得这样的设计有前途不? 我觉得没前途,所以我离开了这个10年的创业公司,去了一家上市公司做 高级前端工程师 了
作者回复: 你好, 黄智勇 没有前途
2021-02-111
收起评论