- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[计算机]面向对象分析与设计Part 11
* * CH 36 架构分析和SAD介绍 确定软件架构的意义 软件的完整性保障(功能-性能) 软件产品的定位,成本控制 关键技术问题的定位 架构分析和一般步骤 什么是架构分析? 在满足需求功能的前提下系统的非功能性需求的识别。 可靠性、容错性、兼容性。。。 性能需求、可扩展性(可伸缩性、对应未来变化) 提供满足需求的解决方案。 逻辑结构 系统结构 部署结构 架构分析和一般步骤 架构分析步骤 识别 找出会影响到架构的问题 多数情况下是非功能性问题 (P365的实例) 决策 寻求解决问题的方案 架构的类型和视图 多种分类方法 UP的架构视图 识别和分析架构因素 架构因素 性能需求、可靠性、容错性、兼容性、扩展性 运行环境约束 开发成本和生产成本的约束 质量场景 量化了的质量指标 可实现、可测试 描述架构因素的UP制品 示例:NextGenPOS架构因素表 架构因素的解析 解决架构需求的方案 技术备忘录 可选的解决方案 根据优先级进行取舍 构架设计问题 逻辑结构 各种范畴的设计模式 平台和框架 操作系统、数据库 运行框架 第三方组件和服务 实现手段 组件服务器 运行时编译(JIT)、运行时装配 SAD UP的架构视图 逻辑视图 进程视图 部署视图 数据视图 用例视图 实现视图 SAD 文档 架构表述----备忘录 架构因素----表 逻辑视图 进程视图 部署视图 数据视图 用例视图 CH 33 使用对象和模式设计更多用例的实现 在本地服务上实现故障恢复 使用本地高速缓存 备忘录上的需求(P379) 解决方案: 服务工厂的改进 本地服务 对远程服务的策略 本地缓存策略 本地的持久化存储 产品信息适配器 使用了组合模式和适配器模式 适配器模式:利用一个适配器解决两种/多种外部对象的不兼容问题。适配器起到了协调、转换的作用。 初始化过程 协作过程 较好的扩展性 外部适配器的变化 不会影响到设计 与持久化系统的协作 缓存数据的更新 多线程 主动更新 UML主动对象的表示 双接口: Runnable IProductsAdapter 程序设计语言中的线程 故障处理 错误处理(异常处理)的模式 转换异常 异常命名 集中的错误日志 错误会话 异常的表示 操作说明的表示方法 属性+值对的表示方法 UML中没有定义专门的异常表达方式;可以采用如下方式表达: 异常的处理更多的时候还是和编程语言相关的。 销售错误处理的交互 通过代理(Proxy)在本地实现故障恢复 远程代理 使用技术: JAVA RMI .NET Remoting 原理: 本地的桩(stub)—远程对象在本地的代理 远程激发 由分布式组件平台提供 重定向代理(容错代理) 当远程服务失效后转向本地服务 通过代理(Proxy)在本地实现故障恢复 Proxy模式: 几种类似的模式的比较 将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 模式B r i d g e 的结构与对象适配器类似,但是B r i d g e模式的出发点不同: B r i d g e目的是将接口部分和实现部分分离,从而对它们可以较为容易也相对独立的加以改变。而A d a p t e r则意味着改变一个已有对象的接口。 Decorator模式增强了其他对象的功能而同时又不改变它的接口。因此Decorator对应用程序的透明性比适配器要好。结果是Decorator支持递归组合,而纯粹使用适配器是不可能实现这一点的。 模式Proxy 在不改变它的接口的条件下,为另一个对象定义了一个代理。 POS的重定向代理 外部物理设备的访问 采用标准接口(行业标准) 外购组件的集成 抽象工厂的使用 抽象工厂的语境: 需要创建多组类, 每一组类有着共同的接口, 方法: 定义一个工厂接口,对每一组要创建的类实现一个具体的接口 一种变体:使用抽象类
文档评论(0)