软件体系结构2软件体系结构风格与模式

上传人:san****019 文档编号:23730028 上传时间:2021-06-10 格式:PPT 页数:169 大小:4.32MB
返回 下载 相关 举报
软件体系结构2软件体系结构风格与模式_第1页
第1页 / 共169页
软件体系结构2软件体系结构风格与模式_第2页
第2页 / 共169页
软件体系结构2软件体系结构风格与模式_第3页
第3页 / 共169页
点击查看更多>>
资源描述
THU SAGroup 课 程 编 号 : 74100152软 件 体 系 结 构 ( 2)软 件 体 系 结 构 的 风 格 与 模 式 覃 征 教 授 vChristopher Alexander, The Timeless Way of Building, p247, 1979 每 个 模 式 是 一 个 由 三 部 分 组 成 的 规 则 , 表 达 了 特 定 环 境 、 问 题和 解 (solution)之 间 的 关 系 。 作 为 现 实 世 界 的 一 个 成 分 , 每 个 模 式 表 达 了 下 列 三 者 之 间 的 一种 关 系 : 特 定 环 境 , 在 该 环 境 中 反 复 出 现 的 力 (forces)的 系 统 ,以 及 协 调 这 些 力 的 某 种 空 间 排 列 。 作 为 语 言 的 一 个 成 分 , 每 个 模 式 是 一 条 指 令 , 展 示 了 这 种 空 间排 列 如 何 被 一 再 重 复 使 用 , 目 的 是 协 调 同 特 定 环 境 相 关 的 力 的系 统 。 简 单 地 说 , 模 式 既 是 存 在 于 现 实 世 界 中 的 事 物 , 又 是 告 诉 我 们如 何 以 及 何 时 创 造 该 事 物 的 规 则 。 模 式 既 是 过 程 , 又 是 事 物 ;既 是 活 生 生 的 事 物 的 描 述 , 又 是 创 造 该 事 物 的 过 程 的 描 述 。 软 件 体 系 结 构 的 特 点 之 一 就 是 抽 象 出 了 很多 常 见 的 系 统 构 建 模 式 , 这 些 模 式 ( 或 者 说 结构 风 格 ) 是 系 统 设 计 人 员 多 年 工 作 经 验 的 总 结。 v软 件 体 系 结 构 风 格 (Architectural Style) 一 种 体 系 结 构 风 格 以 结 构 组 织 模 式 定 义 了 一 个 系 统 家 族 关 于 构 件 和 连 接 件 类 型 的 术 语 ; 一 组 约 束 对 它 们 组 合 方 式 的 规定 ; 一 个 或 多 个 语 义 模 型 , 规 定 了 如 何 从 各 成 分 的 特 性 决 定 系统 整 体 特 性 概 括 地 说 , 一 种 软 件 体 系 结 构 风 格 刻 划 一 个 具 有 共 享 结 构 和 语义 的 系 统 家 族v软 件 体 系 结 构 模 式 (Architectural Pattern) 一 种 软 件 体 系 结 构 模 式 是 对 某 个 具 体 环 境 下 问 题 的 结 构 性 解 决方 法 v体 系 结 构 风 格 模 式 系 统 中 的 词 汇 目 前 尚 不 完 善 每 个 风 格 可 以 视 为 一 组 构 件 的 集 合 , 以 及 构 件 间 的 交 互 ( 连 接器 ) 构 件 ( Components) 连 接 器 ( Connectors) E.g. C/S结 构 中 构 件 : Client, Server 连 接 器 : C/S间 的 通 讯 协 议 v风 格 分 类 : 1. 管 道 -过 滤 器 风 格 2. 面 向 对 象 风 格 3. 事 件 驱 动 风 格 4. 分 层 风 格 5. 数 据 共 享 风 格 6. 解 释 器 风 格 7. 反 馈 控 制 环 风 格 8. 异 构 风 格 的 集 成 v特 别 注 意 : 体 系 结 构 风 格 不 是 对 软 件 进 行 分 类 的 标 准 。它 仅 仅 是 表 示 描 述 软 件 的 不 同 角 度 而 已 例 如 一 个 系 统 采 用 了 分 层 风 格 , 但 这 并 不 妨 碍 它 用 面 向 对 象 的方 法 来 实 现 。 同 一 个 系 统 采 用 多 种 风 格 造 成 了 所 谓 体 系 结 构 风格 的 异 构 组 合 。 v概 述 在 管 道 -过 滤 器 风 格 下 , 每 个 功 能 模 块 都 有 一 组 输 入 和 输 出 。 功能 模 块 称 作 过 滤 器 ( filters) ; 功 能 模 块 间 的 连 接 可 以 看 作 输 入、 输 出 数 据 流 之 间 的 通 路 , 所 以 称 作 管 道 ( pipes) 。 管 道 -过 滤 器 风 格 的 特 性 之 一 在 于 过 滤 器 的 相 对 独 立 性 , 即 过 滤器 独 立 完 成 自 身 功 能 , 相 互 之 间 无 需 进 行 状 态 交 互 。 v过 滤 器 是 独 立 运 行 的 构 件 非 临 近 的 过 滤 器 之 间 不 共 享 状 态 过 滤 器 自 身 无 状 态v过 滤 器 对 其 处 理 上 下 连 接 的 过 滤 器 “ 无 知 ” 对 相 邻 的 过 滤 器 不 施 加 任 何 限 制v结 果 的 正 确 性 不 依 赖 于 各 个 过 滤 器 运 行 的 先 后 次 序 各 过 滤 器 在 输 入 具 备 后 完 成 自 己 的 计 算 。 完 整 的 计 算 过 程 包 含在 过 滤 器 之 间 的 拓 扑 结 构 中 。 管 道 -过 滤 器 风 格v一 个 管 道 -过 滤 器 风 格 的 示 意 图 如 下 图 所 示 : FiltersPipes 管 道 -过 滤 器 风 格v一 个 采 用 了 嵌 套 的 管 道 过 滤 器 的 系 统 示 例 : vUnix系 统 中 的 管 道 过 滤 器 结 构 ls al | grep myvDOS 中 的 管 道 命 令 DOS允 许 在 命 令 中 出 现 用 竖 线 字 符 “ |”分 开 的 多 个 命 令 , 将 符号 “ |”之 前 的 命 令 的 输 出 , 作 为 “ |”之 后 命 令 的 输 入 , 这 就 是 “管 道 功 能 ” , 竖 线 字 符 “ |”是 管 道 操 作 符 。 例 如 , 命 令 dir | more使 得 当 前 目 录 列 表 在 屏 幕 上 逐 屏 显 示 。dir的 输 出 是 整 个 目 录 列 表 , 它 不 出 现 在 屏 幕 上 而 是 由 于 符 号“ |”的 规 定 , 成 为 下 一 个 命 令 more的 输 入 , more命 令 则 将 其 输入 , more命 令 则 将 其 输 入 一 屏 一 屏 地 显 示 , 成 为 命 令 行 的 输 出。 THU SAGroup 12 THU SAGroup 13 vdir | more v通 讯 协 议 的 信 息 封 装 (e.g. SDH) v设 计 者 可 以 将 整 个 系 统 的 输 入 、 输 出 特 性 简 单 的 理 解 为各 个 过 滤 器 功 能 的 合 成 。 设 计 人 员 将 整 个 系 统 的 输 入 输 出 行 为 理 解 为 单 个 过 滤 器 行 为 的叠 加 与 组 合 。 这 样 可 以 将 问 题 分 解 , 化 繁 为 简 。 将 系 统 抽 象 成一 个 “ 黑 箱 ” , 其 输 入 是 系 统 中 第 一 个 过 滤 器 的 输 入 管 道 , 输出 是 系 统 中 最 后 一 个 过 滤 器 的 输 出 管 道 , 而 其 内 部 各 功 能 模 块的 具 体 实 现 对 用 户 完 全 透 明 。 v管 道 -过 滤 器 风 格 支 持 功 能 模 块 的 复 用 任 何 两 个 过 滤 器 , 只 要 它 们 之 间 传 送 的 数 据 遵 守 共 同 的 规 约 ,就 可 以 相 连 接 。 每 个 过 滤 器 都 有 自 己 独 立 的 输 入 输 出 接 口 , 如果 过 滤 器 间 传 输 的 数 据 遵 守 其 规 约 , 只 要 用 管 道 将 它 们 连 接 就可 以 正 常 工 作 。 v基 于 管 道 -过 滤 器 风 格 的 系 统 具 有 较 强 的 可 维 护 性 和 可 扩展 性 。 旧 的 过 滤 器 可 以 被 替 代 , 新 的 过 滤 器 可 以 添 加 到 已 有 的 系 统 上。 软 件 的 易 于 维 护 和 升 级 是 衡 量 软 件 系 统 质 量 的 重 要 指 标 之 一, 在 管 道 -过 滤 器 模 型 中 , 只 要 遵 守 输 入 输 出 数 据 规 约 , 任 何 一个 过 滤 器 都 可 以 被 另 一 个 新 的 过 滤 器 代 替 , 同 时 为 增 强 程 序 功能 , 可 以 添 加 新 的 过 滤 器 。 这 样 , 系 统 的 可 维 护 性 和 可 升 级 性得 到 了 保 证 。 v支 持 一 些 特 定 的 分 析 , 如 吞 吐 量 计 算 和 死 锁 检 测 等 。 利 用 管 道 -过 滤 器 风 格 的 视 图 , 可 以 很 容 易 的 得 到 系 统 的 资 源 使用 和 请 求 的 状 态 图 。 然 后 , 根 据 操 作 系 统 原 理 等 相 关 理 论 中 的死 锁 检 测 方 法 就 可 以 分 析 出 系 统 目 前 所 处 的 状 态 , 是 否 存 在 死锁 可 能 及 如 何 消 除 死 锁 等 问 题 。 v管 道 -过 滤 器 风 格 具 有 并 发 性 每 个 过 滤 器 作 为 一 个 单 独 的 执 行 任 务 , 可 以 与 其 它 过 滤 器 并 发执 行 。 过 滤 器 的 执 行 是 独 立 的 , 不 依 赖 于 其 它 过 滤 器 的 。 在 实际 运 行 时 , 可 以 将 存 在 并 发 可 能 的 多 个 过 滤 器 看 作 多 个 并 发 的任 务 并 行 执 行 , 从 而 大 大 提 高 系 统 的 整 体 效 率 , 加 快 处 理 速 度。 v交 互 式 处 理 能 力 弱 管 道 -过 滤 器 模 型 适 于 数 据 流 的 处 理 和 变 换 , 不 适 合 为 与 用 户 交互 频 繁 的 系 统 建 模 。 在 这 种 模 型 中 , 每 个 过 滤 器 都 有 自 己 的 数据 , 这 些 数 据 或 者 是 从 磁 盘 存 储 器 中 读 取 来 , 或 者 是 由 另 一 个过 滤 器 的 输 出 导 入 进 来 , 整 个 系 统 没 有 一 个 共 享 的 数 据 区 。 这样 , 当 用 户 要 操 作 某 一 项 数 据 时 , 要 涉 及 到 多 个 过 滤 器 对 相 应数 据 的 操 作 , 其 实 现 较 为 复 杂 。 由 以 上 的 缺 点 , 可 以 对 每 个 过滤 器 增 加 相 应 的 用 户 控 制 接 口 , 使 得 外 部 可 以 对 过 滤 器 的 执 行进 行 控 制 。 改 进 的 过 滤 器 v管 道 -过 滤 器 风 格 往 往 导 致 系 统 处 理 过 程 的 成 批 操 作 。 v设 计 者 也 许 不 得 不 花 费 精 力 协 调 两 个 相 对 独 立 但 又 存 在某 种 关 系 的 数 据 流 之 间 的 关 系 , 例 如 多 过 滤 器 并 发 执 行时 数 据 流 之 间 的 同 步 问 题 等 。v根 据 实 际 设 计 的 需 要 , 设 计 者 也 需 要 对 数 据 传 输 进 行 特定 的 处 理 ( 如 为 了 防 止 数 据 泄 漏 而 采 取 加 密 等 手 段 ) ,导 致 过 滤 器 必 须 对 输 入 、 输 出 管 道 中 的 数 据 流 进 行 解 析或 反 解 析 , 增 加 了 过 滤 器 具 体 实 现 的 复 杂 性 。 v通 信 的 目 的 是 传 递 消 息 。 消 息 具 有 不 同 的 形 式 , 例 如 :符 号 、 文 字 、 语 音 、 音 乐 、 数 据 、 图 片 、 图 像 等 等 。 因而 , 根 据 所 传 递 消 息 的 不 同 , 目 前 通 信 业 务 可 以 分 为 电报 、 电 话 、 传 真 、 数 据 传 输 及 可 视 电 话 等 。 对 于 基 本 的点 对 点 通 信 , 是 把 发 送 端 的 消 息 传 递 到 接 收 端 。 数 字 通 信 概 念 模 型发 送 端 接 收 端 v将 上 图 发 送 端 进 一 步 细 分 为 信 息 源 和 发 送 设 备 , 将 接 收端 细 分 为 接 收 设 备 和 受 信 者 ; 同 时 , 在 通 信 过 程 中 会 有噪 声 干 扰 , 在 模 型 中 添 加 噪 声 源 可 得 到 图 所 示 的 数 字 通信 系 统 粗 略 模 型 。数 字 通 信 系 统 粗 略 模 型信 息 源 发 送 设 备 接 收 设 备 受 信 者噪 声 源信 道 v图 中 各 单 元 作 用 : 信 息 源 把 各 种 可 能 信 息 转 换 成 原 始 电 信 号 ; 发 送 设 备 对 原 始 电 信 号 完 成 某 种 变 化 , 便 于 原 始 信 号 在 信 道 中传 输 , 然 后 再 送 入 信 道 ; 信 道 是 指 信 号 传 输 的 通 道 , 它 既 可 以 看 成 是 管 道 ( 因 为 它 的 目的 并 不 是 为 了 实 现 某 种 功 能 , 仅 仅 是 为 了 信 号 的 传 输 ) , 也 可以 从 某 种 意 义 上 看 做 是 过 滤 器 ( 因 为 信 号 经 过 信 道 后 会 产 生一 些 变 化 , 比 如 加 入 噪 声 的 影 响 , 从 而 改 变 了 发 送 设 备 发 出 的信 号 ) 。 接 收 设 备 从 接 收 信 号 中 恢 复 出 相 应 的 原 始 信 号 ; 受 信 者 ( 也 称 为 信 息 宿 或 接 收 终 端 ) 是 将 复 原 的 原 始 信 号 转 换成 相 应 的 消 息 。 噪 声 源 是 信 道 中 的 噪 声 以 及 分 散 在 通 信 系 统 其 它 各 处 的 噪 声 的集 中 体 现 , 它 使 原 信 号 受 到 了 干 扰 , 产 生 畸 变 。 v在 数 字 通 信 中 存 在 以 下 几 个 突 出 的 问 题 : 数 字 信 号 传 输 时 , 信 道 噪 声 或 干 扰 所 造 成 的 差 错 , 原 则 上 都 可以 通 过 差 错 控 制 编 码 等 手 段 来 控 制 。 为 此 , 在 发 送 端 需 要 增 加一 个 编 码 器 , 而 在 接 收 端 相 应 的 需 要 一 个 解 码 器 。 当 需 要 保 密 时 , 可 以 有 效 的 对 基 带 信 号 进 行 加 密 , 防 止 信 息 被窃 取 或 通 信 被 破 坏 。 此 时 , 在 接 收 端 就 需 要 进 行 解 密 。 由 于 数 字 通 信 传 输 的 是 一 个 接 一 个 按 节 拍 传 送 的 数 字 信 号 单 元, 即 码 元 , 因 而 接 收 端 必 须 与 发 送 端 按 相 同 的 节 拍 进 行 接 收 。不 然 , 会 因 接 收 节 拍 不 一 致 而 造 成 混 乱 , 使 接 收 倒 的 数 据 全 部无 效 。 因 此 , 数 字 通 信 系 统 中 必 须 有 同 步 控 制 构 件 。v针 对 上 述 问 题 , 可 得 到 数 字 通 信 系 统 详 细 模 型 ( 下 图 ) 数 字 通 信 系 统 详 细 模 型 v Data Source ( 数 据 源 ) input data stream to the system , for example A file consisting of lines of text A sensor delivering a sequence of numbers data can be pushed or pulled into first processing stagev Pipes( 管 道 ) connections between filters , between data source and the first filter , between the last filter and the data sink synchronizes joined active filters , for example , by a FIFO ( first-in-first-out ) buffer for passive filters , the pipes can be implemented by a direct call Make the filter recombination harderv Data Sink ( 数 据 接 收 端 ) consumes output data v管 道 -过 滤 器 模 式 的 体 系 结 构 是 面 向 数 据 流 的 软 件 体 系 结构 。 它 最 典 型 的 应 用 是 在 编 译 系 统 。 一 个 普 通 的 编 译 系统 包 括 词 法 分 析 器 , 语 法 分 析 器 , 语 义 分 析 与 中 间 代 码生 成 器 , 优 化 器 , 目 标 代 码 生 成 器 等 一 系 列 对 源 程 序 进行 处 理 的 过 程 。 人 们 可 以 将 编 译 系 统 看 作 一 系 列 过 滤 器的 连 接 体 , 按 照 管 道 /向 事 件 源 btnPress植 入 侦 听 器 对 象 ButtonEventHandlerbtnPress.addActionListener (new ButtonEventHandler(this); class ButtonEventHandler implements ActionListener /窗 体 对 象 private EventDemo form = null; /通 过 构 造 体 传 入 窗 体 对 象 , /作 用 在 于 让 侦 听 器 对 象 明 白 事 件 源 处 于 /哪 个 窗 体 容 器 中 public ButtonEventHandler(EventDemo form) THU SAGroup 61 this.form = form; /委 托 方 法 public void actionPerformed(ActionEvent e) /该 方 法 将 会 把 事 件 的 处 理 权 交 给 窗 体 容 器 类 的 btnPress_Click方 法 处 理 。 this.form.btnPress_Click(e); /真 正 的 事 件 处 理 代 码 片 断 : private void btnPress_Click(ActionEvent e) String message = 你 点 击 的 按 钮 名 叫 : + (JButton) e.getSource().getName(); this.txtMessage.setText(message); THU SAGroup 62 v事 件 驱 动 风 格 非 常 适 合 于 描 述 系 统 族 , 在 属 于 同 一 族 的任 何 系 统 中 , 系 统 的 高 级 管 理 子 系 统 的 描 述 是 完 全 类 似的 , 便 于 重 用 ; v由 于 最 高 管 理 子 系 统 牢 牢 的 掌 握 着 控 制 权 , 又 因 为 各 同级 子 系 统 一 般 不 直 接 发 生 关 系 , 因 此 容 易 实 现 并 发 处 理和 多 任 务 操 作 ;v基 于 事 件 驱 动 风 格 的 系 统 具 有 良 好 的 可 扩 展 性 , 设 计 者只 需 为 某 个 对 象 注 册 一 个 事 件 处 理 接 口 就 可 以 将 该 对 象引 入 整 个 系 统 , 同 时 并 不 影 响 其 它 的 系 统 对 象 。 v定 义 了 包 含 执 行 子 系 统 和 管 理 子 系 统 的 类 层 次 结 构 ;v简 化 客 户 代 码 ;v使 整 个 系 统 的 设 计 更 具 有 一 般 化 。 v事 件 驱 动 风 格 最 大 的 不 足 在 于 构 件 削 弱 了 自 身 对 系 统 计算 的 控 制 能 力 v事 件 驱 动 风 格 中 存 在 的 另 一 个 问 题 在 于 数 据 共 享 v系 统 中 各 个 对 象 的 逻 辑 关 系 变 得 更 加 复 杂 v基 于 面 向 对 象 风 格 的 系 统 由 多 个 封 装 起 来 的 对 象 构 成 ,对 象 之 间 通 过 消 息 传 递 实 现 通 信 , 而 事 件 驱 动 正 是 对 消息 传 递 机 制 的 一 种 实 现 。 所 以 基 于 事 件 驱 动 风 格 的 系 统往 往 都 是 面 向 对 象 的 。 v事 件 驱 动 风 格 实 例 : JavaBean系 统 概 述 事 件 从 事 件 源 到 监 听 者 的 传 递 是 通 过 对 目 标 监 听 者 对 象 的 Java方 法 调 用 进 行 的 。 对 每 个 明 确 的 事 件 的 发 生 , 都 相 应 地 定 义 一个 明 确 的 Java方 法 。 这 些 方 法 都 集 中 定 义 在 事 件 监 听 者 (EventListener) 接 口 中 , 这 个 接 口 要 继 承java.util.EventListener。 vJavaBean系 统 (续 ) 事 件 状 态 对 象 与 事 件 发 生 有 关 的 状 态 信 息 一 般 都 封 装 在 一 个 事 件 状 态 对 象 中, 这 种 对 象 是 java.util.EventObject的 子 类 。 按 设 计 习 惯 , 这种 事 件 状 态 对 象 类 的 名 应 以 Event结 尾 。 vJavaBean系 统 (续 ) 事 件 监 听 者 接 口 ( EventListener Interface) 与 事 件 监 听 者 由 于 Java事 件 模 型 是 基 于 方 法 调 用 , 因 而 需 要 一 个 定 义 并 组 织事 件 操 纵 方 法 的 方 式 。 JavaBean中 , 事 件 操 纵 方 法 都 被 定 义 在继 承 了 java.util.EventListener类 的 EventListener接 口 中 , 按规 定 , EventListener接 口 的 命 名 要 以 Listener结 尾 。 任 何 一 个类 如 果 想 操 纵 在 EventListener接 口 中 定 义 的 方 法 都 必 须 以 实 现这 个 接 口 方 式 进 行 。 这 个 类 也 就 是 事 件 监 听 者 。 vJavaBean系 统 (续 ) 事 件 监 听 者 的 注 册 与 注 销 为 了 各 种 可 能 的 事 件 监 听 者 把 自 己 注 册 入 合 适 的 事 件 源 中 , 建立 源 与 事 件 监 听 者 间 的 事 件 流 , 事 件 源 必 须 为 事 件 监 听 者 提 供注 册 和 注 销 的 方 法 。 在 前 面 的 bound属 性 介 绍 中 已 看 到 了 这 种使 用 过 程 , 在 实 际 中 , 事 件 监 听 者 的 注 册 和 注 销 要 使 用 标 准 的设 计 格 式 : public void add( listener) public void remove( listener) v适 配 类 适 配 类 是 JavaBean事 件 模 型 中 极 其 重 要 的 一 部 分 。 在 一 些 应 用场 合 , 事 件 从 源 到 监 听 者 之 间 的 传 递 要 通 过 适 配 类 来 “ 转 发 ”。 适 配 类 成 为 了 事 件 监 听 者 , 事 件 源 实 际 是 把 适 配 类 作 为 监 听 者注 册 入 监 听 者 队 列 中 , 而 真 正 的 事 件 响 应 者 并 未 在 监 听 者 队 列中 , 事 件 响 应 者 应 做 的 动 作 由 适 配 类 决 定 。 vTurbo Vision Borland公 司 开 发 的 Turbo Pascal6.0中 提 供 了 一 种 面 向 对 象 的事 件 驱 动 程 序 设 计 的 工 具 包 Turbo Vision。 Turbo Vision把 各种 屏 幕 上 的 可 见 对 象 归 纳 为 2大 类 : 一 类 为 执 行 对 象 , 另 一 类 为管 理 对 象 , 分 别 称 为 TView和 TGroup类 对 象 。 又 因 为 TGroup和 TView类 有 相 同 之 处 , 故 TGroup是 从 TView派 生 而 得 , 在Turbo Vision中 , TGroup类 的 对 象 一 般 不 进 行 实 际 操 作 , 不 直接 在 屏 幕 上 显 示 自 己 , 而 是 通 过 自 己 的 下 属 显 示 自 己 , 所 有 的实 际 操 作 都 是 通 过 TView类 对 象 进 行 的 。v Turbo Vision 很 好 地 体 现 了 面 向 对 象 方 法 和 事 件 驱 动 程 序 设 计方 法 的 精 髓 , TApplication是 一 个 可 以 运 行 的 交 互 式 程 序 对 象, 除 了 启 动 和 退 出 之 外 , 它 不 提 供 任 何 功 能 , 使 用 Turbo Vision, 就 能 高 效 和 快 速 地 开 发 出 高 质 量 地 应 用 程 序 。 Turbo Vision Turbo Vision软 件 包 中 对 象 的 分 类 结 构 如 图 所 示 : Turbo Vision中 对 象 的 分 类 结 构 Turbo Vision Turbo Vision对 象 的 组 装 结 构 一 般 说 来 , TApplication对 象 拥 有 并 管 理它 创 建 的 3个 子 对 象 TMenuBar, TDeskTop和 TStatusLine, 如 图 所 示 . Turbo Vision的 组 装 结 构 TApplication StatusLineDeskTopMenuBar TBackGround Turbo Vision 在 程 序 的 实 际 运 行 中 , Application对 象 通 常 创 建 各 种 TWindow类 和Tdialog类 对 象 , 并 委 托 DeskTop代 为 管 理 .因 此 , DeskTop对 象 的 组 装 常 常 随程 序 的 运 行 而 改 变 .窗 口 对 象 (Twindow类 )和 对 话 框 对 象 (Toialog类 )随 应 用的 不 同 而 不 同 , 典 型 的 窗 口 和 对 话 框 对 象 的 组 装 结 构 如 图 所 示 .窗 口 和 对 话 框 对 象 的 组 装 结 构 WindowFrame Scroller VerticalScrollBar HorizontalScrollBar DialogButtonFrame StaticText vTurbo Vision Turbo Vision把 事 件 抽 象 为 3种 类 型 的 事 件 :位 置 事 件 、 聚 焦 事 件 和 广 播 事件 。 典 型 的 位 置 事 件 是 鼠 标 器 事 件 , TGroup类 视 图 把 位 置 事 件 交 给 管 理 该 区域 的 子 视 图 ;典 型 的 聚 焦 事 件 是 击 键 和 命 令 事 件 (典 型 的 命 令 事 件 是 由 状 态 行 或菜 单 条 、 下 拉 菜 单 将 击 键 事 件 或 鼠 标 器 事 件 转 换 而 得 ), TGroup类 视 图 把 该 事件 交 给 处 于 聚 焦 状 态 的 下 级 视 图 ;广 播 事 件 是 管 理 视 图 不 知 道 该 交 给 谁 的 那 种事 件 , 对 于 这 种 事 件 , 它 将 该 事 件 交 给 所 有 的 视 图 。 Turbo Vision程 序 在 运 行 时 , 由 TApplication对 象 收 集 鼠 标 器 事 件 和 健 盘 事件 以 及 各 种 其 它 事 件 , 然 后 按 一 定 的 规 则 交 给 下 属 去 处 理 .例 如 , 对 于 鼠 标 器事 件 , 如 果 它 发 生 在 菜 单 条 上 , 则 将 它 交 给 菜 单 条 来 处 理 ;如 果 它 发 生 在 状 态行 , 则 将 它 交 给 状 态 行 来 处 理 ;如 果 它 发 生 在 DeskTop上 , 则 将 它 交 给 DeskTop来 处 理 。 总 之 , 细 节 问 题 总 是 交 给 下 属 来 处 理 .状 态 行 和 菜 单 条 的 任 务 是 将 键盘 事 件 和 自 己 辖 区 的 鼠 标 器 事 件 转 换 成 为 命 令 事 件 , 再 上 交 给 TApplication。 v特 征 一 个 分 层 系 统 采 用 层 次 化 的 组 织 方 式 构 建 , 系 统 中 的 每 一 层 都要 承 担 两 个 角 色 。 首 先 , 它 要 为 结 构 中 的 上 层 提 供 服 务 ; 其 次 , 它 要 作 为 结 构 中 下 面 层 次 的 客 户 , 调 用 下 层 提 供 的 功能 函 数 。 v一 个 概 念 上 的 分 层 模 型 如 下 图 所 示 : 核 心 层( 最 底 层 ) 功 能 层( 中 间 层 ) 应 用 层( 最 高 层 ) v分 层 风 格 具 有 一 些 系 统 设 计 者 无 法 抗 拒 的 优 势 : 分 层 风 格 支 持 系 统 设 计 过 程 中 的 逐 级 抽 象 基 于 分 层 风 格 的 系 统 具 有 较 好 的 可 扩 展 性 分 层 风 格 支 持 软 件 复 用 v并 不 是 所 有 的 系 统 都 适 合 用 分 层 风 格 来 描 述 的 v对 于 抽 象 出 来 的 功 能 具 体 应 该 放 在 哪 个 层 次 上 也 是 设 计者 头 疼 的 一 个 问 题 v分 层 风 格 实 例 : 计 算 机 网 络 的 设 计v概 述 网 络 协 议 设 计 者 将 计 算 机 网 络 中 的 各 个 部 分 按 其 功 能 划 分 为 若干 个 层 次 ( Layer) , 其 中 的 每 一 个 层 次 都 可 以 看 成 是 一 个 相 对独 立 的 黑 箱 、 一 个 封 闭 的 系 统 。 用 户 只 关 心 每 一 层 的 外 部 特 性, 只 需 要 定 义 每 一 层 的 输 入 、 数 据 处 理 和 输 出 等 外 部 特 性 。 vISO/OSI网 络 体 系 结 构ISO/OSI采 用 了 7层 体 系 结 构 , 从 高 到 低 分 别 是 : 应 用 层 、 表 示 层 、 会 话 层 、传 输 层 、 网 络 层 、 数 据 链 路 层 和 物 理 层 , 如 图 所 示 。 其 最 高 层 为 第 7层 应 用 层 ,用 于 同 应 用 服 务 之 间 交 换 数 据 ; 最 低 层 为 第 1层 物 理 层 , 用 于 连 接 物 理 传 输 介质 实 现 真 正 的 数 据 通 信 。 层 与 层 之 间 的 联 系 是 通 过 各 层 之 间 的 接 口 来 实 现 的 ,上 层 通 过 接 口 向 下 层 提 出 服 务 请 求 , 而 下 层 通 过 接 口 向 上 层 提 供 服 务 。 两 台计 算 机 通 过 网 络 进 行 通 信 时 , 只 有 两 物 理 层 之 间 能 够 通 过 媒 体 进 行 真 正 的 数据 通 信 , 其 余 各 对 等 层 之 间 均 不 存 在 直 接 的 通 信 关 系 , 各 对 等 层 之 间 只 能 通过 各 对 等 层 的 协 议 来 进 行 虚 拟 通 信 。 ISO/OSI网 络 体 系 结 构vISO/OSI网 络 体 系 结 构 vISO/OSI网 络 体 系 结 构 为 了 理 解 ISO/OSI各 层 的 功 能 , 以 运 输 公 司 进 行 货 物 运 输 为例 来 进 行 说 明 , 也 就 是 利 用 人 们 熟 知 的 东 西 来 理 解 陌 生 抽 象的 概 念 。 其 中 , 第 13层 3个 层 次 相 当 于 由 运 输 公 司 负 责 的 货物 运 输 过 程 中 的 具 体 细 节 、 具 体 操 作 方 式 ; 第 4层 相 当 于 运输 公 司 与 用 户 之 间 的 接 口 ; 第 57层 3个 层 次 相 当 于 由 用 户 公司 负 责 的 将 货 物 交 去 运 输 所 需 要 做 的 准 备 工 作 。 第 1层 是 物 理 层 ( Physical Layer) , 它 负 责 在 物 理 信 道 上 传 输原 始 的 数 据 bit流 。 它 应 该 提 供 为 建 立 、 维 护 和 拆 除 物 理 链 路 连接 所 需 的 机 械 的 、 电 气 的 、 功 能 和 规 程 的 特 性 , 这 类 似 于 运 输车 辆 只 需 要 负 责 将 装 在 车 辆 内 的 货 物 ( 类 似 于 bits) 运 送 到 某地 就 行 了 。 第 2层 是 数 据 链 路 层 ( Data Link Layer) , 它 的 主 要 功 能 是 纠错 和 流 量 控 制 , 负 责 在 可 能 出 现 差 错 的 物 理 线 路 中 实 现 无 差 错的 数 据 传 送 。 它 应 该 在 物 理 层 的 基 础 上 , 建 立 相 邻 结 点 之 间 的数 据 链 路 , 通 过 差 错 控 制 提 供 数 据 帧 ( Frame) 的 无 差 错 传 输, 并 进 行 数 据 流 量 控 制 。 这 类 似 于 运 输 公 司 的 运 输 管 理 和 质 量监 督 部 门 , 需 要 负 责 在 可 能 出 现 问 题 的 运 输 线 路 之 中 保 质 保 量地 完 成 运 输 任 务 。 第 3层 是 网 络 层 ( Network Layer) , 它 的 主 要 功 能 是 路 由 控 制( 找 路 ) 、 拥 塞 控 制 和 数 据 打 包 。 它 应 该 为 其 上 一 层 传 输 层 的数 据 传 输 提 供 建 立 、 维 护 和 终 止 网 络 连 接 的 手 段 , 把 上 层 传 来的 数 据 分 割 成 一 个 一 个 的 数 据 包 ( Packet, 也 叫 报 文 分 组 ) 在结 点 之 间 进 行 交 换 传 送 , 并 且 负 责 路 由 控 制 和 拥 塞 控 制 。 这 类似 于 运 输 公 司 需 要 将 用 户 发 送 的 货 物 进 行 分 割 打 包 , 并 在 现 有的 交 通 网 络 之 中 负 责 找 出 一 条 从 源 地 址 到 目 的 地 址 的 线 路 ( 即找 路 ) , 在 找 路 时 需 要 考 虑 到 能 否 到 达 、 拥 塞 状 况 、 安 全 可 靠性 、 甚 至 交 通 费 用 等 诸 多 方 面 的 因 素 。 第 4层 是 传 输 层 ( Transport Layer) , 它 的 主 要 功 能 是 在 上 层和 下 层 之 间 起 到 一 种 接 口 的 功 能 。 它 应 该 为 上 层 提 供 端 到 端 (最 终 用 户 到 最 终 用 户 ) 、 的 透 明 的 、 可 靠 的 数 据 传 输 服 务 。 所谓 透 明 的 传 输 是 指 在 通 信 过 程 中 上 层 可 以 将 下 面 各 层 看 作 是 一个 封 闭 的 黑 箱 系 统 , 传 输 层 对 上 层 屏 蔽 了 传 输 系 统 的 具 体 细 节。 这 类 似 于 运 输 公 司 在 各 个 地 方 设 置 的 业 务 接 洽 处 , 它 负 责 在用 户 和 公 司 之 间 建 立 起 一 个 货 物 交 接 的 桥 梁 , 使 得 用 户 不 用 去管 运 输 公 司 将 以 什 么 样 的 方 式 将 货 物 运 送 到 目 的 地 , 也 就 是 说业 务 接 洽 处 对 用 户 屏 蔽 了 货 物 运 输 中 的 具 体 细 节 。 第 5层 是 会 话 层 ( Session Layer) , 它 的 主 要 功 能 是 负 责 收 发数 据 的 交 接 工 作 、 并 组 织 和 管 理 数 据 。 它 应 该 为 表 示 层 提 供 建立 、 维 护 和 结 束 会 话 连 接 的 功 能 , 并 提 供 会 话 管 理 服 务 。 这 类似 于 用 户 公 司 的 货 物 收 发 室 , 它 负 责 与 运 输 公 司 打 交 道 , 完 成用 户 公 司 货 物 的 收 发 的 交 接 工 作 、 并 组 织 管 理 公 司 内 部 要 收 发的 货 物 。 第 6层 是 表 示 层 ( Presentation Layer) , 它 的 主 要 功 能 是 为 数据 提 供 收 发 、 存 放 的 具 体 格 式 和 规 范 。 它 应 该 为 应 用 层 提 供 信息 表 示 方 式 的 服 务 , 如 数 据 格 式 的 变 换 、 文 本 压 缩 、 加 密 技 术等 。 这 类 似 于 用 户 公 司 的 货 物 收 发 员 , 它 负 责 与 用 户 公 司 内 部要 收 发 货 物 的 部 门 或 个 人 打 交 道 , 在 收 集 要 发 送 的 货 物 时 告 诉用 户 应 该 怎 样 填 写 发 货 资 料 , 在 向 用 户 发 放 货 物 时 告 诉 用 户 应该 完 清 哪 些 具 体 手 续 , 等 等 。 第 7层 是 应 用 层 ( Application Layer) , 它 的 主 要 功 能 是 为 数据 提 供 各 种 可 行 的 收 发 方 式 。 它 应 该 为 网 络 用 户 或 应 用 程 序 提供 各 种 应 用 服 务 , 如 文 件 传 输 、 电 子 邮 件 ( E-mail) 、 分 布 式数 据 库 、 网 络 管 理 等 。 这 类 似 于 用 户 公 司 内 部 的 部 门 或 个 人 在收 发 货 物 时 , 都 必 须 遵 循 用 户 公 司 内 部 的 有 关 规 定 , 只 能 使 用用 户 公 司 所 允 许 的 方 式 来 收 发 货 物 。 从 另 一 方 面 来 说 , 用 户 公司 也 要 为 公 司 内 部 的 部 门 或 个 人 收 发 货 物 提 供 各 种 可 行 的 收 发方 式 , 让 用 户 公 司 内 部 的 部 门 或 个 人 知 道 他 们 能 够 使 用 哪 些 方式 来 收 发 货 物 。 vISO/OSI层 次 分 组 关 系 :有 两 种 分 组 方 法 I第 一 种 可 以 从 数 据 处 理 分 工 的 角 度 , 将 ISO/OSI七 个 层 次 分 为三 组 : 第 1、 2层 解 决 有 关 网 络 信 道 问 题 ; 第 3、 4层 解 决 传 输 服务 问 题 ; 第 5、 6、 7层 则 处 理 对 应 用 进 程 的 访 问 。 从 数 据 传 输 控 制 的 角 度 , 将 ISO/OSI七 个 层 次 分 为 三 组 : 下 三 层( 1、 2、 3层 ) 可 以 看 作 是 传 输 控 制 组 , 负 责 通 信 子 网 的 工 作 ,解 决 网 络 中 的 通 信 问 题 ; 上 三 层 ( 5、 6、 7层 ) 为 应 用 控 制 组 ,负 责 有 关 资 源 子 网 的 工 作 , 解 决 应 用 进 程 之 间 的 信 息 转 换 问 题; 中 间 层 ( 4层 ) 则 为 通 信 子 网 和 资 源 子 网 的 接 口 , 起 到 连 接 传输 和 应 用 的 作 用 。 v .Net平 台 也 是 一 个 明 显 的 分 层 系 统 : THU SAGroup 94 v.Net 框 架 分 层 模 图 v特 征 采 用 数 据 共 享 风 格 构 建 的 系 统 中 通 常 有 两 个截 然 不 同 的 功 能 构 件 ; 中 央 数 据 单 元 构 件 ; 一 些 相 对 独 立 的 构 件 的 集 合 。 v数 据 共 享 风 格 的 示 意 图 如 下 图 所 示 : 中 央 数 据 单 元 ks1 ks5ks4 ks3 ks2 ks6 ks7 ks8 v信 息 交 互 方 式 的 差 异 导 致 了 控 制 策 略 的 不 同 。 主 要 的 控制 策 略 有 两 种 , 正 是 依 据 这 两 种 不 同 的 控 制 策 略 , 基 于数 据 共 享 风 格 的 系 统 被 分 成 两 个 子 类 : 基 于 传 统 数 据 库 型 数 据 共 享 风 格 的 应 用 系 统 基 于 黑 板 型 数 据 共 享 风 格 的 应 用 系 统 v下 面 主 要 介 绍 基 于 黑 板 型 数 据 共 享 风 格 的 应 用 系 统 THU SAGroup 97 v一 个 典 型 的 黑 板 型 数 据 共 享 系 统 包 括 以 下 三 个 部 分 :1. 知 识 源 : 知 识 源 中 包 含 独 立 的 、 与 应 用 程 序 相 关 的 知 识 , 知 识源 之 间 不 直 接 进 行 通 讯 , 它 们 之 间 的 交 互 只 通 过 黑 板 来 完 成 。2. 黑 板 数 据 结 构 : 黑 板 数 据 是 按 照 与 应 用 程 序 相 关 的 层 次 来 组 织的 解 决 问 题 的 数 据 , 知 识 源 通 过 不 断 地 改 变 黑 板 数 据 来 解 决 问题 。3. 控 制 : 控 制 完 全 由 黑 板 的 状 态 驱 动 , 黑 板 状 态 的 改 变 决 定 使 用的 特 定 知 识 。v 黑 板 模 式 对 于 无 确 定 性 求 解 策 略 的 问 题 比 较 有 用 , 在 专家 系 统 中 , 这 种 模 式 应 用 的 比 较 广 泛 。 v解 决 问 题 的 多 方 法 性 : 对 于 一 个 专 家 系 统 , 针 对 于 要 解 决 的 问 题 , 如 果 在 其 领 域 中 没有 独 立 的 方 法 存 在 , 而 且 对 解 空 间 的 完 全 搜 索 也 是 不 可 行 的 ,在 黑 板 模 式 中 可 以 用 多 种 不 同 的 算 法 来 进 行 试 验 , 并 且 也 允 许用 不 同 的 控 制 方 法 。v具 有 可 更 改 性 和 可 维 护 性 : 因 为 在 黑 板 模 式 中 每 个 知 识 源 是 独 立 的 , 彼 此 之 间 的 通 信 通 过黑 板 来 完 成 , 所 以 这 使 整 个 系 统 更 具 有 可 更 改 性 和 可 维 护 性 。 v有 可 重 用 的 知 识 源 : 由 于 每 个 知 识 源 在 黑 板 系 统 中 都 是 独 立 的 , 如 果 知 识 源 和 所 基于 的 黑 板 系 统 有 理 解 相 同 的 协 议 和 数 据 , 我 们 就 可 以 重 用 知 识源 。v支 持 容 错 性 和 健 壮 性 : 在 黑 板 模 式 中 所 有 的 结 果 都 是 假 设 的 , 并 且 只 有 那 些 被 数 据 和其 它 假 设 强 烈 支 持 的 才 能 够 生 存 。 这 对 于 噪 声 数 据 和 不 确 定 的结 论 有 很 强 的 容 错 性 。 v测 试 困 难 : 由 于 黑 板 模 式 的 系 统 有 中 央 数 据 构 件 来 描 述 系 统 的 体 现 系 统 的状 态 , 所 以 系 统 的 执 行 没 有 确 定 的 顺 序 , 其 结 果 的 可 再 现 性 比较 差 , 难 于 测 试 。v不 能 保 证 有 好 的 求 解 方 案 : 一 个 黑 板 模 式 的 系 统 所 提 供 给 我 们 的 往 往 是 所 解 决 问 题 的 一 个百 分 比 , 而 不 是 最 佳 的 解 决 方 案 。v效 率 低 : 黑 板 模 式 的 系 统 在 拒 绝 错 误 假 设 的 时 候 要 承 受 多 余 的 计 算 开 销, 所 以 导 致 效 率 比 较 低 。 v开 发 成 本 高 : 绝 大 部 分 黑 板 模 式 的 系 统 需 要 用 几 年 的 时 间 来 进 化 , 所 以 开 发成 本 较 高 。v缺 少 对 并 行 机 的 支 持 : 黑 板 模 式 要 求 黑 板 上 的 中 心 数 据 同 步 并 发 访 问 , 所 以 缺 少 对 不并 行 机 的 支 持 。 v 数 据 共 享 风 格 实 例 : 专 家 系 统 ( ES, Expert System) 概 述 : 专 家 系 统 实 质 就 是 一 组 程 序 ; 从 功 能 上 : 可 定 义 为 “ 一 个 在 某 领 域 具 有 专 家 水 平 解 题 能 力 的程 序 系 统 ” , 能 像 领 域 专 家 一 样 工 作 , 运 用 专 家 积 累 的 工 作 经验 与 专 门 知 识 , 在 很 短 时 间 内 对 问 题 得 出 高 水 平 的 解 答 。 从 结 构 上 讲 : 可 定 义 为 “ 由 一 个 专 门 领 域 的 知 识 库 , 以 及 一 个能 获 取 和 运 用 知 识 的 机 构 构 成 的 解 题 程 序 系 统 ” 。 vES一 般 结 构 如 下 图 所 示 : IECRMAS知 识 生 态 系 统 IECRMAS知 识 生 态 系 统 的 构 建知 识 生 态 系 统 IECRMAS 环 境 有 机 体知 识 生 产 者 评估者 知 识 知 识 消 费 者 评 估 知 识 分 解 者 Agent Agent CKO KDD评估者 评估者 vIECRMAS知 识 生 态 系 统 知识系统环境 知 识 生 产 者 知 识 消 费 者 知 识 分 解 者 IECRMAS知 识 生 态 系 统知 识 库 系 统 实 例客 户 数 据 仓 交 易 数 据 仓 违 约 数 据 仓 经 验 教 训 数 据 仓 DRM/DWE信 息 库 数 据 库知 识 库 知 识 Agent信 用 评 估 知 识 基 评 估 Agent 评 估 Agent 评 估 Agent 知 识 链 知 识 Agent 管 理 Agent 检 索 评 估 系 统知 识 基 更 新 传 递 传 递 传 递 学 习 学 习 学 习 客 户 Agent 更 新 更 新 检 索 数 据 库信 息 库知 识 库 外部知识协作交流 IECRMAS知 识 生 态 系 统 评 估 Agent 学 习 外 部 知 识输 入 知 识 输 出 个 体 知 识 含 量 低 高 K AS UPS CES 知 识 Agent 知 识 贡 献 IECRMAS知 识 生 态 系 统 v特 征 基 于 解 释 器 风 格 的 系 统 核 心 在 于 虚 拟 机 。 一 个 基 于 解 释 器 风 格 的 系 统 通 常 包 括 : 正 在 被 解 释 执 行 的 伪 码和 解 释 引 擎 ; 伪 码 : 由 需 要 被 解 释 执 行 的 源 代 码 和 解 释 引 擎 分 析 所 得 的 中 间代 码 组 成 ; 解 释 引 擎 包 括 : 语 法 解 释 器 和 解 释 器 当 前 的 运 行 状 态 v解 释 器 风 格 示 意 图 如 下 图 所 示 : v在 文 法 规 则 比 较 简 单 的 情 况 下 , 解 释 器 风 格 工 作 的 很 好;v易 于 改
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!