![[工学]15架构模式.ppt_第1页](http://file.renrendoc.com/FileRoot1/2018-12/27/a23bf0e4-092d-4c3e-bf62-6034163cefa6/a23bf0e4-092d-4c3e-bf62-6034163cefa61.gif)
![[工学]15架构模式.ppt_第2页](http://file.renrendoc.com/FileRoot1/2018-12/27/a23bf0e4-092d-4c3e-bf62-6034163cefa6/a23bf0e4-092d-4c3e-bf62-6034163cefa62.gif)
![[工学]15架构模式.ppt_第3页](http://file.renrendoc.com/FileRoot1/2018-12/27/a23bf0e4-092d-4c3e-bf62-6034163cefa6/a23bf0e4-092d-4c3e-bf62-6034163cefa63.gif)
![[工学]15架构模式.ppt_第4页](http://file.renrendoc.com/FileRoot1/2018-12/27/a23bf0e4-092d-4c3e-bf62-6034163cefa6/a23bf0e4-092d-4c3e-bf62-6034163cefa64.gif)
![[工学]15架构模式.ppt_第5页](http://file.renrendoc.com/FileRoot1/2018-12/27/a23bf0e4-092d-4c3e-bf62-6034163cefa6/a23bf0e4-092d-4c3e-bf62-6034163cefa65.gif)
已阅读5页,还剩45页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Architecture Architecture PatternsPatterns 1 模式模式 n n 很多系统的解决方案都比较类似很多系统的解决方案都比较类似 n n 解决方案的共同点是什么?解决方案的共同点是什么? n n 区别在何处?区别在何处? n n 用到哪些特殊的方法?用到哪些特殊的方法? n n 如何制定一个特殊的方法?如何制定一个特殊的方法? 2 Architecture, Design and Architecture, Design and Implementation Implementation 表示软件系统的基本结构化 组织图式。 提供一个用于细化软件系统的子系统或组 件,或它们之间关系的图式。 3 模式类别模式类别 n n 体系结构模式体系结构模式 n n 可作为具体软件体系结构的模版。可作为具体软件体系结构的模版。 n n 它们规定一个应用的系统范围的结构特性,以它们规定一个应用的系统范围的结构特性,以 及对其子系统的体系结构施加的影响。及对其子系统的体系结构施加的影响。 n n 体系结构模式的选择是开发一个软件系统时的体系结构模式的选择是开发一个软件系统时的 基本设计决策。基本设计决策。 4 模式类别模式类别 n n 设计模式设计模式 n n 软件体系结构的子系统,以及它们之间的关系软件体系结构的子系统,以及它们之间的关系 。通常由几个更小的体系结构单元构成。通常由几个更小的体系结构单元构成。 n n 中等规模的模式。中等规模的模式。 n n 规模上比体系结构模式小,但又独立于特定编规模上比体系结构模式小,但又独立于特定编 程语言。程语言。 n n 设计模式的应用对软件系统的基础结构没有影设计模式的应用对软件系统的基础结构没有影 响,但可能对子系统的体系结构有所影响。响,但可能对子系统的体系结构有所影响。 n n 提供分解更复杂的服务或组件的结构,以及它提供分解更复杂的服务或组件的结构,以及它 们之间的合作。们之间的合作。 5 模式类别模式类别 n n 惯用法惯用法 n n 处理特定设计问题的实现处理特定设计问题的实现 n n 代表最低层模式,关注设计和实现方面代表最低层模式,关注设计和实现方面 n n 针对具体语言,捕获现有的编程经验针对具体语言,捕获现有的编程经验 6 Pattern characteristicsPattern characteristics n n 一个模式关注一个在特定设计环境中出现的设计问一个模式关注一个在特定设计环境中出现的设计问 题,并为它提供一个解决方案。题,并为它提供一个解决方案。 n n 各种模式用文档记录下现存的经过充分考验的设计各种模式用文档记录下现存的经过充分考验的设计 经验。经验。 n n 模式为设计原则提供一种公共的词汇和理解。模式为设计原则提供一种公共的词汇和理解。 n n 模式是为软件体系结构建立文档的一种手段。模式是为软件体系结构建立文档的一种手段。 n n 模式支持用已定义的属性来构造软件。模式支持用已定义的属性来构造软件。 7 Pattern schemaPattern schema n n 语境:问题出现的场景语境:问题出现的场景 n n 问题:在那个语境中出现的再现问题问题:在那个语境中出现的再现问题 n n 解决方案必须满足的需求解决方案必须满足的需求 n n 必须考虑的约束必须考虑的约束 n n 解决方案必须具有的特性解决方案必须具有的特性 n n 解决方案:已被证实的问题的解决方案解决方案:已被证实的问题的解决方案 n n 特定的结构:组件和关系的结构特定的结构:组件和关系的结构 n n 运行期的行为运行期的行为 8 Pattern schemaPattern schema n n 模式的图式:模式的图式: 9 Architecture PatternsArchitecture Patterns n n 一个软件体系结构的模式描述了一个出一个软件体系结构的模式描述了一个出 现在特定设计语境中的特殊的再现设计现在特定设计语境中的特殊的再现设计 问题,并为它的解决方案提供了一个经问题,并为它的解决方案提供了一个经 过充分验证的通用图式。过充分验证的通用图式。 n n 一组预先确定的子系统和他们的职责一组预先确定的子系统和他们的职责 n n 子系统间的相互关联的规则子系统间的相互关联的规则 n n 例如:例如: Model-View-ControllerModel-View-Controller模式模式 10 Pattern:LayersPattern:Layers 11 Pattern: LayersPattern: Layers n n 层体系结构模式有助于构建这样的应用:它层体系结构模式有助于构建这样的应用:它 能被分解成子任务组,其中每个子任务组处能被分解成子任务组,其中每个子任务组处 于一个特定的抽象层次上。于一个特定的抽象层次上。 n n 下层为上层提供服务下层为上层提供服务 n n 上层利用下层提供的服务完成自身的任务上层利用下层提供的服务完成自身的任务 n n 通过同步程序调用来完成请求的服务通过同步程序调用来完成请求的服务 12 Pattern:LayersPattern:Layers ISO Open Systems Interconnect 7-layer modelISO Open Systems Interconnect 7-layer model 13 Pattern schemaPattern schema n n 一个独立层的描述一个独立层的描述 14 Pattern: LayersPattern: Layers n n 举例:虚拟机举例:虚拟机 n n e.g. JVMe.g. JVM n n 举例:举例: APIs APIs n n e.g. C standard library, built on Unix e.g. C standard library, built on Unix system callssystem calls n n 举例:信息系统举例:信息系统 n n 应用层应用层数据库数据库 n n 表示层表示层应用逻辑层应用逻辑层领域层领域层数据库数据库 15 Pattern: LayersPattern: Layers n n 举例:举例:Windows NTWindows NT n n 系统服务:子系统和系统服务:子系统和NTNT执行程序之间的接口层执行程序之间的接口层 n n 资源管理器层:包含对象管理器、安全引用监视器、过资源管理器层:包含对象管理器、安全引用监视器、过 程管理器、程管理器、I/OI/O管理器、虚拟存储管理器和局部过程调用管理器、虚拟存储管理器和局部过程调用 等模块。等模块。 n n 内核:它关心一些基本功能,如中断和意外处理、多处内核:它关心一些基本功能,如中断和意外处理、多处 理器同步、线程调度和现程分配。理器同步、线程调度和现程分配。 n n 硬件抽象层硬件抽象层(HAL)(HAL):隐藏了不同处理器系列机器之间的:隐藏了不同处理器系列机器之间的 硬件差异。硬件差异。 n n 硬件硬件 16 Three-Layered Enterprise Three-Layered Enterprise Application Application 17 Pattern: LayersPattern: Layers n n 优点:优点: n n 层的重用层的重用 n n 标准化支持标准化支持 n n 局部性依赖局部性依赖 n n 可替换性可替换性 n n 不足不足 n n 更改行为的重叠更改行为的重叠 n n 降低效率降低效率 n n 不必要的工作不必要的工作 n n 难以认可层的正确粒度难以认可层的正确粒度 18 Pattern: Model-View-Pattern: Model-View- ControllerController 19 Pattern: Model-View-ControllerPattern: Model-View-Controller n n 将一个交互式应用程序分为三个组件。将一个交互式应用程序分为三个组件。 n n 模型模型(Model)(Model):核心功能和数据:核心功能和数据 n n 视图视图(Views)(Views):向用户显示信息:向用户显示信息 n n 控制器控制器(Controllers)(Controllers):处理用户输入:处理用户输入 n n 视图和控制器共同构成了用户接口视图和控制器共同构成了用户接口 n n 变更变更- -传播机制确保了用户接口和模型之间的一致性传播机制确保了用户接口和模型之间的一致性 20 Pattern: Model-View-ControllerPattern: Model-View-Controller 21 Pattern: Model-View-ControllerPattern: Model-View-Controller 22 Pattern: Model-View-ControllerPattern: Model-View-Controller n n 相同的信息在不同的窗口有不同的表示相同的信息在不同的窗口有不同的表示 n n 支持不同的支持不同的“ “样式和感觉样式和感觉” ”标准标准 n n 模型独立于表示模型独立于表示 n n 布告形式连接布告形式连接 n n 观察者设计模式观察者设计模式 n n 举例:举例: n n SmalltalkSmalltalk n n ASP.NETASP.NET n n . .aspxaspx:视图:视图 n n .VB,.C#.VB,.C#:控制:控制 23 Pattern: Client-ServerPattern: Client-Server 24 Pattern: Client-ServerPattern: Client-Server n n 服务器端为客户端提供服务服务器端为客户端提供服务 n n 客户端从服务器端请求服务客户端从服务器端请求服务 n n 服务器一直保持监听请求的状态服务器一直保持监听请求的状态 n n 举例:举例: n n 远程数据库连接远程数据库连接 n n 远程文件系统远程文件系统 n n 多层信息系统多层信息系统 n n Web Web 应用应用 25 Pattern: Master-SlavePattern: Master-Slave 26 Pattern: Master-SlavePattern: Master-Slave n n 支持容错性、并行计算以及计算准确性。支持容错性、并行计算以及计算准确性。 n n 主控组件将工作分配给相同的从属组件,并主控组件将工作分配给相同的从属组件,并 从从属组件返回的结果中计算最终的结果。从从属组件返回的结果中计算最终的结果。 n n 举例:举例: n n 嵌入式系统嵌入式系统 n n 大规模并行计算大规模并行计算 n n 容错系统容错系统 27 Pattern: Master-SlavePattern: Master-Slave 28 Pattern: Master-SlavePattern: Master-Slave 29 Pattern: Master-SlavePattern: Master-Slave n n 主控模块故障,整个系统故障主控模块故障,整个系统故障 n n 主控模块将任务划分为几个同等的子任务主控模块将任务划分为几个同等的子任务 n n 从属之间相互独立从属之间相互独立 n n 从属之间并行工作从属之间并行工作 n n 问题是可以分解的问题是可以分解的 n n 应用领域:应用领域: n n 容错容错 n n 并行计算并行计算 n n 计算准确性计算准确性 30 Pattern: Master-SlavePattern: Master-Slave n n 优点:优点: n n 可互换性和可扩充性可互换性和可扩充性 n n 事务分离事务分离 n n 效率效率 n n 不足:不足: n n 可行性可行性 n n 对机器依赖性对机器依赖性 n n 难以实现难以实现 n n 可移植性可移植性 31 Pattern: Pipe-FilterPattern: Pipe-Filter 32 Pattern: Pipe-FilterPattern: Pipe-Filter n n 管道和过滤器体系结构模式,为处理数据流的系统提供管道和过滤器体系结构模式,为处理数据流的系统提供 了一种结构了一种结构 n n 每个处理步骤封装在一个过滤器组件中每个处理步骤封装在一个过滤器组件中 n n 数据通过相邻过滤器之间的管道传输数据通过相邻过滤器之间的管道传输 n n 管道处理缓冲和同步管道处理缓冲和同步 n n 重组过滤器可以建立相关系统族重组过滤器可以建立相关系统族 n n 举例:举例: n n 编译器编译器 n n Unix Unix 内核命令内核命令 33 Pattern: Pipe-FilterPattern: Pipe-Filter 34 Pattern: Pipe-FilterPattern: Pipe-Filter 35 Pattern: Pipe-FilterPattern: Pipe-Filter n n 优点:优点: n n 通过过滤器交换增加了灵活性通过过滤器交换增加了灵活性 n n 通过重组增加了灵活性通过重组增加了灵活性 n n 过滤器组件的重用过滤器组件的重用 n n 并行处理提高效率并行处理提高效率 n n 不足:不足: n n 共享状态信息或者昂贵或者不灵活共享状态信息或者昂贵或者不灵活 n n 并行处理获得的效率往往只一种假象并行处理获得的效率往往只一种假象 n n 数据转换额外开销数据转换额外开销 n n 错误处理错误处理 36 Pattern: BrokerPattern: Broker 37 Pattern: BrokerPattern: Broker n n 代理者结构模式可以用于构建带有隔离组件的分布式代理者结构模式可以用于构建带有隔离组件的分布式 软件系统,该软件通过远程服务调用进行交互。软件系统,该软件通过远程服务调用进行交互。 n n 代理者组件负责协调通信代理者组件负责协调通信 n n 转发请求、传送结果和异常转发请求、传送结果和异常 n n 服务器将他们的服务(属性和操作)发布给一个代理服务器将他们的服务(属性和操作)发布给一个代理 n n 客户端通过一个代理请求服务器处理客户端通过一个代理请求服务器处理 n n 代理将请求发送给一个合适的服务器处理代理将请求发送给一个合适的服务器处理 38 Pattern: BrokerPattern: Broker n n 允许动态改变、添加、删除和重新发布允许动态改变、添加、删除和重新发布 n n 对于开发者来说,代理是透明的对于开发者来说,代理是透明的 n n 请求需要有标准的表示法请求需要有标准的表示法 n n 当两个代理者互操作时,实现细节可通过网桥来隐藏当两个代理者互操作时,实现细节可通过网桥来隐藏 n n 举例:举例: n n 公共对象请求代理体系结构(公共对象请求代理体系结构(CORBACORBA),处理异),处理异 构系统上分布式对象的面向对象技术构系统上分布式对象的面向对象技术 n n Web servicesWeb services 39 Pattern: BrokerPattern: Broker 40 Pattern: Peer-2-PeerPattern: Peer-2-Peer 41 Pattern: Peer-2-PeerPattern: Peer-2-Peer n n 对称的对称的 客户机客户机- -服务器模式服务器模式 n n 客户机向服务器请求服务客户机向服务器请求服务 n n 服务器通知客户机特定的事件服务器通知客户机特定的事件 n n 任何一个节点都可以扮演客户机或者服务器的角色任何一个节点都可以扮演客户机或者服务器的角色 n n 可以动态的交换角色可以动态的交换角色 n n 举例:举例: n n 多用户应用多用户应用 n n P2P P2P 技术技术 42 Pattern: Event-BusPattern: Event-Bus 43 Pattern: Event-BusPattern: Event-Bus n n 事件源将消息发布到总线上的特殊通道上事件源将消息发布到总线上的特殊通道上 n n 事件监听者订阅通道上的消息事件监听者订阅通道上的消息 n n 监听者监听有效消息监听者监听有效消息 n n 消息是异步的消息是异步的 n n 通路可以是固定的通路可以是固定的 44 Pattern: BlackboardPattern: Blackboard 45 Pattern: BlackboardPattern: Blackboard n n 黑板体系结构模式对于无确定性求解策略的问题比较黑板体系结构模式对于无确定性求解策略的问题比较 有用。有用。 n n 黑板模式中,有几个专用子系统收集其知识,以黑板模式中,有几个专用子系统收集其知识,以 建立一个可能的部分解或近似解。建立一个可能的部分解或近似解。 n n 举例:举例: 语音识别语音识别 n n 所有组件共
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年铁路通信工(中级)职业技能鉴定参考试题库(含答案)
- 2025年病历书写基本规范试题(附答案)
- 定制化营养膳食配送服务创新创业项目商业计划书
- 家政中介市场创新创业项目商业计划书
- 工业废弃物处理服务创新创业项目商业计划书
- 2025年度高空作业工程分包与协调协议
- 2025康复医学考试试题(含参考答案)
- 五年级数学暑假强化测试题集锦
- 小学二年级语文单元检测题集
- 临床护理常见疾病诊疗手册
- 蔬菜抗营养成分流失工艺考核试卷及答案
- 极端天气下灾害风险评估方案
- 民警培训安全驾驶简报课件
- 消毒灭菌效果监测报告
- 2025年软工导论期末试题及答案
- 2025年山东省潍坊市中考数学试卷附答案
- 俄罗斯礼俗课件
- 2024统编版八年级历史上册全册知识点复习提纲
- 虚拟服装培训教程课件
- 2025年国防教育知识竞赛试题(附答案)
- 非车主押车借款合同范本
评论
0/150
提交评论