软件架构实践阅读笔记二
1、质量属性
系统从设计、实现到部署的整个过程中考虑质量属性的实现。质量属性包括下列三类:
(1)、系统的质量属性。(可用性、可修改性、性能、安全性、可测试性和易用性)
(2)、受架构影响的商业属性。(上市时间、成本和收益、所希望的系统生命期的长短、目标市场、推出计划、与老系统的集成)
(3)、与架构本身相关的一些质量属性。(概念完整性、正确性与完整性、可构建性)
2.战术与架构模式的关系
Active Objcet设计模式将方法执行从方法调用中分离出来,以增强并发,并简化对驻留在其自身控制线程中的对象的同步访问。
该模式由6个元素组成:代理,它提供了允许客户对主动对象调用公共访问方法的接口;方法请求,它定义了用于执行主动对象的方法的一个接口;激活接口,它维持了挂起方法请求的一个缓冲器;调度程序,它决定接下来执行什么方法请求;附属,他定义可建模为主动对象的行为和状态;将来,它允许客户获得方法调用的结果。
该模式的动机就是增强并发性——这是一个性能目标。因此其主要目的就是实现“引入并发“性能战术。然而,还要注意该模式包含的其他战术。
● 信息隐藏(可修改性)。每个元素都选择了它将实现的责任,并将其实现隐藏在接口后面。
● 仲裁者(可修改性)。该代理充当着把变化缓冲到方法调用中的仲裁者。
● 绑定时间(可修改性)。主动对象模式假定对该对象的请求在运行时到达该对象。然而,并没有确定客户机与代理的绑定时间。
● 调度策略(性能)。调度程序实现一些调度策略。
3.架构模式和样式
软件中架构模式与建筑物中的架构样式类似,它由几个将他们组合起来以维持架构完整性的关键特性和规则组成。架构模式由以下几个因素确定:
● 一组元素类型(如数据存储库或计算数学函数的组件)
● 指出其相互关系的元素的拓扑布局。
● 一组语义限制(如管道——过滤器样式中的过滤器是纯数据转化器——他们以增量形式将其输入流转换为输出流,但并不控制上游流或下游元素)。
● 一组交互机制(如子例程调用、事件——调阅者、黑板)、他们确定元素将如何通过允许的拓扑进行协调。
架构模式和战术之间是什么关系呢?正如已经说明的那样,我们把战术看作是设计的基本“构建块”,并根据该战术创建架构模式和策略