从架构漫谈九篇文章看软件体系结构
第一篇《架构漫谈(一):什么是架构?》,通过阅读第一篇架构漫谈,对架构的概念有了初步了解,文中举得两个例子十分恰当得体,很形象的说明架构,又不显得啰嗦累赘。在读文章之前,看到标题本以为会讲我所认为的软件的架构,因为是软件工程的学生,理所当然的便想到软件架构,读了前半部分才发现原来架构早就出现在我们的生活中,我所认识的只是它的一小部分。我也像大家一样,浅显得理解了它,其实事实上还真如文中套用的笑话Architecture is like teenage sex,everybody talks about it,nobody really knows what is it。
文中提到架构这个词最早是跟随着建筑出现的,我有理所当然的想到下面该谈如何通过建筑来介绍架构了,结果我又被作者摆了一道。
在谈到什么是架构的时候,作者引用了Wikipedia上的定义,不过我是看不懂了,从个人对这篇文章的举例理解上,我认为正如文中所说架构在人们开始相互协调分工的完成工作和生活的时候就出现了,简单讲架构是人类发展过程中,由懵懵懂懂的,被动的去认识这个世界,变成主动的去认识,并以更高的效率去改造这个世界的方法。通过人们群居分工生活和建筑的演变这两个例子,可以感觉出架构的产生是为了满足人们的需求,减少时间、提高质量、更加高效的利用可利用资源。架构是对整体的分工,但分工之间必有所联系,一个整体分为相互依存相互关联的几部分,几部分同时进行更加合理利用时间,更加高效的完成。但没有联系的分工称不上架构。
套用文中的总结:什么是架构,就是:
- 根据要解决的问题,对目标系统的边界进行界定。
- 并对目标系统按某个原则的进行切分。切分的原则,要便于不同的角色,对切分出来的部分,并行或串行开展工作,一般并行才能减少时间。
- 并对这些切分出来的部分,设立沟通机制。
- 根据3,使得这些部分之间能够进行有机的联系,合并组装成为一个整体,完成目标系统的所有工作。
第二篇《架构漫谈(二):认识概念是理解架构的基础》,这篇文章教我们如何认识概念,并解释认识概念的重要。看这篇文章之前,我认为概念就是对某一事物的定义,在看到那个什么是桌子的问题的时候,我想到的回答是所有用来吃饭或者写字等这一切需要的物体,在我认为桌子代表的很笼统,我们可以用来作这些事就可以称为桌子,但在读文章的过程中又觉得似对非对。概念所代表的是所需要的作用,并不是特指的东西。概念的目的是为了解决人的需要,解决某些问题。
在讲到抽象的时候,我认为就是我们通过大脑所想象出来的,但抽象的含义却是实际上是把不同的概念的相似的部分合并在一起,形成一个新的概念。真是有点不太理解。在对比容器和杯子的时候,就正确的理解出概念是指的某一作用,当我们需要解决装东西的问题的时候,会说容器;当我们需要解决单手持握要装东西的时候,会说要一个杯子。这也就是解决问题不一样所产生的不同概念吧!
认识概念就是从背后所需要解决的问题和它的作用出发。