架构漫谈阅读笔记
架构漫谈是由资深架构师王概凯 Kevin 执笔的系列专栏,专栏以 Kevin 的架构经验为基础,逐步讨论什么是架构、怎样做好架构、软件架构如何落地、如何写好程序等问题。链接:架构漫谈
正如我老师常说的那样,人和人之间的问题是最难解决的问题,不同于人和机器之间的问题,机器是非常有条理的,对就是对,错就是错。而人和人之间的问题解决到最后可能都没有对错。架构实际上解决的就是人的问题。
王概凯老师在文章中提到了我之前从未思考过的一个方向——概念。概念是人认识世界的基础,是非常重要的。“概念也属于人认识这个世界并用来沟通的手段,包括“概念”这个概念,也是一样的。”这句话非常拗口。
何为概念?我想就是名字,是描述一个事物的方法。正如文中提到的那样,我们一想起杯子,脑海中就会浮现出杯子的样子,比如说:“圆圆的,有个底,能装水”。这就是你赋予杯子的一个“概念”,但是,这里面蕴含着一个非常严重的问题,由于人和人个体的不同,你的描述,可能会另比人“茅塞顿开”:奥,原来是一个碗啊!这是一个不可避免的问题,这也是软件开发过程中不可避免的问题,就如下面这张经典的图所描述的一样:
顾客想要的和最终得到的是两个相差非常大的问题,造成这个问题的原因,我想是因为沟通过程中,概念的混淆,即你的“概念”并不能让别人理解,没有抽象出问题中的关键要素,导致了这一连串的问题。
正如文中说的一样:要做好架构所首先必须具备的能力,就是能够正确的认识概念,能够发现概念背后所代表的问题,进而才能够认识目标领域所需要解决的问题,这样才能够为做好架构打好基础。
受限于我还只是软件工程系的一名大三的学生,认识较为浅薄,拜读了王概凯先生的文章之后,提出些许拙见,欢迎大家指教