架构之美阅读笔记01
对于架构的概念,我才读了几章,还没有更深的见解,但是我想到了其他的东西,那就是建筑,那个应该也是一种架构。我想架构嘛,在普通的情况下就是所看到的最普遍的房子的样子,大家都是这样大致就是方形,有顶有们有窗,等等。对于更多的是有一些创新的东西在里面的,比如各种布局啊,融入各种文化啊,都可以成为一种特色,这对于我们的建筑来说都是很大的卖点了。由此类比,大致上的软件架构也是这样子的,框架不是固定的,看需要的东西并不能一成不变。
架构是提供一种特定的方式来解决共同的问题,这种方式具有实用性和美学性;架构是美观、坚固、实用三个方面的平衡配合。好的系统架构展示了架构的完整性,完整的架构是实用性的体现,但架构又是一种折中,改进其中的一个特征往往会对其他特征产生负面影响,这就要求架构师能够发现特定系统的重要关注点,然后充分满足这些关注点的条件。架构观点的常见思想是结构,结构为我们提供途径,建系统化为交互的组件。建筑师作为关键的设计师,为了确保:1)设计满足客户的需要;2)设计具有概念完整性,并运用相同的设计原则;3)设计满足法规和安全的要求。设计师依靠许多组件的交互来得到期望的结果。而“架构”并不是一个简单的实体,架构师必须做出设计决定,并能够进行复审、讨论、修改和批准。对于如软件系统,这些设计决定必须包括行为上的和结构上的。外部行为描述展示了产品如何与其用户、其他系统以及外部设备进行交互;而软件架构常常表现为分层的层次结构。然而如何构建软件构件呢?首先软件架构师的关注点不应是系统的功能,而应关注需要满足的品质。品质关注点指明了功能必须以何种方式支付,才能被系统的利益相关人所接受。架构师必须重视利益相关人的关注点,他们的关注点主要包括投资人、架构师、开发人员、测试人员、项目经理、市场人员、用户、技术支持人员。每个系统都有自己的品质关注点。利益相关人员希望将功能放到软件上而不是硬件上。理解了关注点之后就要考虑折中,例如对信息加密增强安全性,则会影响性能;创建系统的架构往往涉及许多这样艰难的折中。
架构评估有两种常见方式,第一种是确定架构的属性,第二种是通过对架构师提出质询。通过这两种方式,来评估是否为一个好的架构。满足实用性可以称为一个好的构架,甚至“足够好”,但是如何超越“足够好”,构建一个美丽的构呢?在使用架构之前,必须先构建,所以,先关注架构的可构建性;接下来要关注架构的持久性,即必须经过时间的考验;最后,这些构架的特征让使用、构建、测试这些架构的开发和测试人员,以及由他形成的系统用户感到由衷的高兴。
如何创建一个架构,如何实现架构的实用性和美学性,如何构建一个好的架构这是我们的经验才能交给我们的,我们需要进一步的探索。