首页 » 互联网 » 营业架构、流程架构、数据架构、技能架构——没有架构行弗成?_庞杂_架构

营业架构、流程架构、数据架构、技能架构——没有架构行弗成?_庞杂_架构

少女玫瑰心 2024-08-28 23:44:57 0

扫一扫用手机浏览

文章目录 [+]

朋友们好,我是bobo。

好久不见,十分惦记!

营业架构、流程架构、数据架构、技能架构——没有架构行弗成?_庞杂_架构 互联网

本日和朋友们一起来聊一聊【架构】的那些事,考试测验用大口语唠唠嗑!

第一部分:没有架构行弗成?

开始本日的谈论之前,咱们先来看一个故事:

大型系统的实质问题是繁芜性问题。

互联网软件,是范例的大型系统。

数百个乃至更多的微做事相互调用/依赖,组成一个组件数量大、行为繁芜、时候在变动当中的动态的、繁芜的系统。

因此,软件工程师们常常自嘲,“when things work, nobody knows why”。

如果我们只是写一段独立代码,反面其他系统交互,每每设计上哀求不会很高,代码是否易于利用、易于理解、易于测试和掩护,根本不是问题。

而一旦碰着大型的软件系统,如互联网分布式运用或者企业级软件,我们常常陷入繁芜度陷阱。

怎么办理繁芜度的问题?

是的,答案便是架构!

想起一个笑话:

繁芜系统的掩护是一种玄学。

当一个大型软件系统涌现bug的时候,最好的办理办法是什么?

是啥也不要做,赶紧去烧喷鼻香拜佛,大概它自己就好了。
假如动了啥,还不知道会造成什么更加毁灭性的后果。

啥意思,意思是压根就不知道问题出在哪!

办理问题的第一步是找到问题。

要想找到问题,最最少得要有点脉络可寻——这时候,架构便是那个脉络。

就像我们看高德舆图。
如果给你一堆全国各个县的舆图,你怎么找?一团乱麻。

如果是按照“全国-省-市-县”这个的构造,就很清晰了,很随意马虎就定位到您想要的地方。

这个构培养是架构。

如果是一个大略的软件,一个小企业,没有架构,也没啥问题。

但是,如果软件越来越繁芜,企业的业务越来越繁芜,没有架构可能便是一场灾害了。

由于,繁芜度这个事是呈指数趋势而不是线性趋势增长的。

越是大型系统,越须要大略性。

架构便是解构繁芜度,简化问题的抓手。

第二部分:怎么做一个完美的架构?

bobo的答案是:没有完美的架构。

怎么来理解?先问一个问题:

软件是建造出来的,还是“成长”出来的?

BUILT vs GROWN,that is the problem.

软件不是建造出来的,乃至不是设计出来的。
软件是“成长”出来的!

这个说法初看上去和我们平时的认识彷佛不同。

我们常常谈软件架构,架构这个词彷佛蕴含了一种建造和设计的意味。

然而,对付软件系统来说,我们必须认识到,架构师设计的不是软件的架构,而是软件的“基因”,而这些基因如何影响软件未来的形态则是难以预测,无法完备掌握。

所谓建造和“成长”的差异在哪里?

一个繁芜的软件系统,确实很像一个繁芜的建筑物。
但是把软件比作一栋摩天算夜楼却不是一个很好的比喻。

缘故原由在于,一个摩天算夜楼无论多么繁芜,都是事先可以根据设计出完全详尽的图纸,按图准确施工,担保质量就能建造出来的。

然而现实中的大型软件系统,却不是这么建造出来的。

软件的动态“成长”,更像是上图所画的那样,是从一个大略的“构造”成长到繁芜的“构造”的过程。

伴随着项目本身的发展、研发团队的壮大,系统是个逐渐成长的过程。

或者换一个主体,把“软件”换成“业务”,也是同样的道理。

业务也不是一开始就能设计出来的,还是逐步“成长”出来的。

以是,架构也不可能完美。
由于架构本身只是现实的“投影”,业务在“成长”,架构也须要“成长”。

总而言之,bobo以为对待架构这个事要有【辩证的思维】。

一方面,架构不可能生而完美,一开始可以做的大略点,关键是要做起来。

另一方面,架构须要不断完善,不要指望一劳永逸,不断迭代、不断成长才是正道。

要觉得文章还不错,朋友们请随手点个【赞】和【在看】吧,能【讴歌】一下请bobo喝杯咖啡就更感谢啦!

您的支持便是我不断输出的动力

标签:

相关文章