• 读王概凯----架构漫谈(一):什么是架构? 有感


      在本学期我们开设了软件体系架构这门课程,提到了架构一词,我找到了由资深架构师王概凯 Kevin 执笔的“架构漫谈”系列专栏----架构漫谈(一):什么是架构?进行相关了解。

      这篇文章主要是在表述到底什么是架构,从架构的起源开始论述。文中提到架构一词在业内有很多争论,每个人都有自己的理解,但却没有大家都认可的定义,套用一句在大数据流行的笑话就是:Architecture is like teenage sex,everybody talks about it,nobody really knows what is it.(事实上我也不知道为什么这么说,但是话粗理不粗。)

      架构(Architecture)一次源于建筑,在 Wikipedia 上,架构是这样定义的:Architecture (Latin architectura, from the Greek ἀρχιτέκτων arkhitekton"architect", from ἀρχι- "chief" and τέκτων "builder") is both the process and the product of planning, designing, and constructing buildings and other physical structures。(建筑是规划、设计、建造建筑物和其他物理结构的过程和产物。)

      这么看,架构好像是一个过程,是人们从被动认识一个项目,到主动了解它的转变,就好像早期的人们从独立的个体,到分工明确的群体的进化。那么为什么会产生架构呢,或者说,产生架构的动力是什么呢?

      就好比人们的建筑行为,从山洞到茅草屋,从瓦片房到钢筋水泥。我觉得建筑的架构的产生,是在有了建筑队之后才发生的,建筑队里人们有明确的分工,有明确的目标任务。以此来看的话,总结出以下几点要求:

      1.必须由人执行的工作。没有人的介入,也就更没有由人不知不觉发明出来的架构了。

      2.每个个体的能力有限。正因如此,所以在人们在群体中才会各尽其能,每个人更大限度的发挥自己的优势(ps.这个道理好像在哪儿都能适用,毕竟现在是团队合作的时代)。

      3.每个人的时间有限。为了减少时间的投入,必然会导致把工作分解出去,给擅长于这些工作的角色来完成,从而缩短时间。

      4.人们对目标系统有更高的追求。

      5.目标系统的复杂性促使了人们合作的发生。

      当这 5 个条件同时成立,一定会产生架构。从这个层面上来说,架构是人类发展过程中,由懵懵懂懂的,被动的去认识这个世界,变成主动的去认识,并以更高的效率去改造这个世界的方法。

      总结一下,什么是架构,就是:

      1.根据要解决的问题,对目标系统的边界进行界定。

      2.并对目标系统按某个原则的进行切分。切分的原则,要便于不同的角色,对切分出来的部分,并行或串行开展工作,一般并行才能减少时间。

      3.并对这些切分出来的部分,设立沟通机制。

      4.根据 3,使得这些部分之间能够进行有机的联系,合并组装成为一个整体,完成目标系统的所有工作。

      其实总结到最后还是归结到一个焦点:人。架构要解决的问题终归是人的问题;完成架构终究是人去完成;架构在服务于项目的背后,终究是满足于人的需求。搞清楚这个关键,问题就明朗很多了。

  • 相关阅读:
    Redis 锁
    Redis 持久化
    Redis 数据淘汰策略
    Redis 事务命令
    【vue禁止复制粘贴】
    tsconfig.json无法写入webpack.config.js 因为它会覆盖输入文件。
    npm 进阶命令知多少(一)
    如何将360度评估调查应用于员工发展?
    如何利用360度评估做好民主评议促进干部管理与选拔?
    手把手带你使用360度评估系统实施绩效反馈全流程(附详细图文)
  • 原文地址:https://www.cnblogs.com/wjwjs/p/10492159.html
Copyright © 2020-2023  润新知