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