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

  在本学期我们开设了软件体系架构这门课程,提到了架构一词,我找到了由资深架构师王概凯 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,使得这些部分之间能够进行有机的联系,合并组装成为一个整体,完成目标系统的所有工作。

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

原文地址:https://www.cnblogs.com/wjwjs/p/10492159.html

时间: 2024-10-15 05:59:14

读王概凯----架构漫谈(一):什么是架构? 有感的相关文章

读架构漫谈&我眼中的架构师

本周是开学的第二周,读了由资深架构师王概凯 Kevin 执笔的系列专栏架构漫谈.初识这门课,懂得也不是很多,读了架构漫谈,有了一些理解. 首先作者讲述了缘起,由早期人独立自主生活到后来的集群,作者由这个例子 引出人多力量大,每个人都有自己的独特本领:多人分工配合作为生存的整体,力量就显得强大多了,所以也自然的形成了族群:有些人种田厉害,有些人制作工具厉害,有些地方适合产出粮食,有些地方适合产出棉花等,就自然形成了人的分群,地域的分群.当分工发生后,实际上每个人的生产力都得到了提高,因为做的都是每

阅读架构漫谈九篇博客有感-1500字

架构漫谈是由资深架构师王概凯撰写的系列专栏,逐步讨论什么是架构.怎样做好架构.软件架构如何落地.如何写好程序等问题. 架构漫谈分为九篇: 什么是架构? 认识概念是理解架构的基础 如何做好架构之识别问题 如何做好架构之架构切分 什么是软件 软件架构到底是要解决什么问题? 不要空设架构师这个职位,给他实权 从架构的角度看如何写好代码 理清技术.业务和架构的关系 第一篇 什么是架构? 主要讲到了缘起,什么是架构和为什么会产生架构. 由于问题越来越复杂,一个人已经很难完成想要完成的事情,而许多人一起却可

读《架构漫谈》的一些感想

在阅读王概凯的<架构漫谈>,一共9篇.读之前以为的架构:架构啊,应该就是像想要盖房子一样,用木头搭起来的一个框架吧.听这名字,架构架构,多像“构造的架子”.读之后:我是谁?我在哪?架构能吃吗? 虽然上面的描述方法采用了夸张的修辞手法,但真实情况确实和夸张后的情况相差无几——我是真的没有读懂理解王概凯写的9篇<架构漫谈>.虽然我大可以大片大片的“引用”其中的内容,但是那样就不是我写的博客了.我一向认为既然要抄,就要全篇搬过来,但可惜<架构漫谈>没告诉人们“未经许可,随意转

架构漫谈阅读笔记

<架构漫谈>读后感 经过一个寒假对<架构之美>的解读,其实我已经对什么是架构有了一个初步的认识,但是还是有一些不太明白的地方.今天,我仔细地阅读了由资深架构师王概凯Kevin执笔的系列专栏--架构漫谈,让我对什么是架构.怎样做好架构.软件架构如何落地.如何写好程序等问题有了更深刻的认识. 正如文章开篇所说的那样:一直以来,在软件行业,对于什么是架构,都有很多的争论,每个人都有自己的理解.那么究竟什么是软件架构呢?其实,把一个整体(完成人类生存的所有工作)切分成不同的部分(分工),由

《架构漫谈》阅读笔记

架构漫谈是由资深架构师王概凯执笔的系列专栏,通过对其阅读,我从中逐步认识到了什么是架构,怎样做好架构,软件架构如何落地等内容. 一.什么是架构 在软件行业,对于什么是架构一直有很多的争论.事实上,架构在软件发明时的N多年以前,就已经存在了,这个词最早出现在建筑上.架构产生的五个动力可以概括为:由个人执行的工作:每个人的能力有限:每个人时间有限:人对目标系统有更高的要求:目标系统的复杂性使得单个人完成这个系统.当这五个条件同时成立,一定会产生架构.从这个角度上来说,架构是人类发展过程中,由懵懵懂懂

《架构漫谈》有感

人对事物的认识不是仅仅通过文字描述就足够的,纸上得来终觉浅,绝知此事要躬行.我们程序员更是这样,没有代码的积累怎么能有写软件的能力. 今天读了架构漫谈,说实话看到第四篇时我还不知道架构到底是什么东西.在我的认识里架构就是自己以前编的功能模块,它可以实现一定的功能,拼接起来就是一个完整大软件. <架构漫谈(四):如何做好架构之架构切分>,通过这篇文章我真的学到了一些东西,一些对我将来做软件有用的东西.文章里讲的是切分即利益调整,这比我想象中的要现实得多,作者说,动力是我们每个人的利益,切分也是对

读架构漫谈有感

读文章伊始感觉文章并没有像其他文章一样引用了大量的专业术语,文章的例子都非常浅显易懂所以以我的水平也可以看懂.对于软件架构虽然早就听过但是还是这学期准确是这周才开始学习架构的概念,在有一点点理解的基础上读了这篇文章,文章开始引出了架构的概念然后步步深入其实刚开始都的时候我并不是很懂甚至有一些疑惑.作者提到当一个群体产生的时候由于不同的人擅长不同导致了分工的不同.我在想当时的人类就有这种明确的分工合作的意识么而且人类并不一定只做一件事他们肯定还要做其他的事情,后来我继续读的时候才发现,所谓的分工合

读&lt;架构漫谈&gt;系列有感

读了这一系列博文,我对架构也有了大致的了解.在简单的阅读之后,我解决了几个问题. 第一个问题,什么是架构? 要学习架构,首先要知道架构.那么,什么是架构呢?引用<架构漫谈(一)>里的话就是把一个整体切割成不同的部分,由不同的角色来完成这些分工,并通过建立不同部分相互沟通的机制,使得这些部分能够有机的结合为一个整体,并完成这个整体所需要的所有活动,这就是架构.架构的定义及步骤如下: 1.根据要解决的问题,对目标系统的边界进行界定. 2.并对目标系统按某个原则的进行切分.切分的原则,要便于不同的角

软件架构师如何工作-架构漫谈阅读笔记

在王概凯先生的9篇关于软件架构师的博客-<架构漫谈>中,我们可以看到文中谈到了架构的定义.含义,架构主要是要认识概念,如何做好架构之架构的切分,然后谈到了软件与架构之间的关系(什么是软件,软件架构是要解决什么问题,从架构的角度看如何写好代码,理清技术.业务和架构之间的关系了),下面依次写出我对9篇博客的理解与感悟,以及对软件架构师工作的理解. 一:什么是架构 在学习软件体系结构这门课之前,我们貌似只对软件开发以及简单的mis系统的开发有一丝丝的开发经验和感触,无架构之言.我们目前还无法像软件架