1.质量属性和实现质量属性的一般策略:
* ping/echo主要提高系统的可用性;
* 限制访问能够提高系统安全性;
* 运行时注册能够提高系统的可修改性;
* 接口-实现分离提高系统的可修改性;
* 主动冗余提高系统的可靠性;
* 队列调度提高系统的性能;
* 信息隐藏提高系统的可修改性;
* 记录-回放提高系统的可测试性;
2 质量属性判断
*系统出错后不能再规定时间内恢复到正常状态----> 系统恢复能力描述 ----> 系统可用性
*对系统开进行二次开发时总要超过半年时间----->对系统进行调整和维护方面的描述,属于系统可修改性的范畴
3 设计模式相关
情形一:某公司打算开发一个在线文档帮助系统,用户可以在一个查询上下文中输入查询关键字,如果当时的查询环境没有相关内容,则系统会将查询按照一定的顺序转发给其他查询环境。基于上述需求,采用责任链模式最为适合。(责任链模式的特点:很多对象由每一个对象对其下家的引用而连接起来形成一条链,请求在这个链上传递,知道链上的某一个对象决定处理此请求)
情形二:某公司欲开发一套窗体图形界面类库。该类库需要包含若干预定义的窗格(Pane对象),例如TextPane、ListPane等,窗格之间不允许直接引用。基于该类库的应用有一个包含一组窗格的窗口组成,并需要协调窗格之间的行为。基于该类库,在不引用窗格的前提下实现窗格之间的协作,应该采用中介者模式。(中介者模式的特点:用一个中介对象封装