軟件體系結(jié)構(gòu)2軟件體系結(jié)構(gòu)風(fēng)格與模式
《軟件體系結(jié)構(gòu)2軟件體系結(jié)構(gòu)風(fēng)格與模式》由會員分享,可在線閱讀,更多相關(guān)《軟件體系結(jié)構(gòu)2軟件體系結(jié)構(gòu)風(fēng)格與模式(169頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、THU SAGroup 課 程 編 號 : 74100152軟 件 體 系 結(jié) 構(gòu) ( 2)軟 件 體 系 結(jié) 構(gòu) 的 風(fēng) 格 與 模 式 覃 征 教 授 vChristopher Alexander, The Timeless Way of Building, p247, 1979 每 個(gè) 模 式 是 一 個(gè) 由 三 部 分 組 成 的 規(guī) 則 , 表 達(dá) 了 特 定 環(huán) 境 、 問 題和 解 (solution)之 間 的 關(guān) 系 。 作 為 現(xiàn) 實(shí) 世 界 的 一 個(gè) 成 分 , 每 個(gè) 模 式 表 達(dá) 了 下 列 三 者 之 間 的 一種 關(guān) 系 : 特 定 環(huán) 境 , 在 該 環(huán) 境
2、 中 反 復(fù) 出 現(xiàn) 的 力 (forces)的 系 統(tǒng) ,以 及 協(xié) 調(diào) 這 些 力 的 某 種 空 間 排 列 。 作 為 語 言 的 一 個(gè) 成 分 , 每 個(gè) 模 式 是 一 條 指 令 , 展 示 了 這 種 空 間排 列 如 何 被 一 再 重 復(fù) 使 用 , 目 的 是 協(xié) 調(diào) 同 特 定 環(huán) 境 相 關(guān) 的 力 的系 統(tǒng) 。 簡 單 地 說 , 模 式 既 是 存 在 于 現(xiàn) 實(shí) 世 界 中 的 事 物 , 又 是 告 訴 我 們?nèi)?何 以 及 何 時(shí) 創(chuàng) 造 該 事 物 的 規(guī) 則 。 模 式 既 是 過 程 , 又 是 事 物 ;既 是 活 生 生 的 事 物 的 描 述
3、, 又 是 創(chuàng) 造 該 事 物 的 過 程 的 描 述 。 軟 件 體 系 結(jié) 構(gòu) 的 特 點(diǎn) 之 一 就 是 抽 象 出 了 很多 常 見 的 系 統(tǒng) 構(gòu) 建 模 式 , 這 些 模 式 ( 或 者 說 結(jié)構(gòu) 風(fēng) 格 ) 是 系 統(tǒng) 設(shè) 計(jì) 人 員 多 年 工 作 經(jīng) 驗(yàn) 的 總 結(jié)。 v軟 件 體 系 結(jié) 構(gòu) 風(fēng) 格 (Architectural Style) 一 種 體 系 結(jié) 構(gòu) 風(fēng) 格 以 結(jié) 構(gòu) 組 織 模 式 定 義 了 一 個(gè) 系 統(tǒng) 家 族 關(guān) 于 構(gòu) 件 和 連 接 件 類 型 的 術(shù) 語 ; 一 組 約 束 對 它 們 組 合 方 式 的 規(guī)定 ; 一 個(gè) 或 多 個(gè) 語
4、 義 模 型 , 規(guī) 定 了 如 何 從 各 成 分 的 特 性 決 定 系統(tǒng) 整 體 特 性 概 括 地 說 , 一 種 軟 件 體 系 結(jié) 構(gòu) 風(fēng) 格 刻 劃 一 個(gè) 具 有 共 享 結(jié) 構(gòu) 和 語義 的 系 統(tǒng) 家 族v軟 件 體 系 結(jié) 構(gòu) 模 式 (Architectural Pattern) 一 種 軟 件 體 系 結(jié) 構(gòu) 模 式 是 對 某 個(gè) 具 體 環(huán) 境 下 問 題 的 結(jié) 構(gòu) 性 解 決方 法 v體 系 結(jié) 構(gòu) 風(fēng) 格 模 式 系 統(tǒng) 中 的 詞 匯 目 前 尚 不 完 善 每 個(gè) 風(fēng) 格 可 以 視 為 一 組 構(gòu) 件 的 集 合 , 以 及 構(gòu) 件 間 的 交 互 (
5、 連 接器 ) 構(gòu) 件 ( Components) 連 接 器 ( Connectors) E.g. C/S結(jié) 構(gòu) 中 構(gòu) 件 : Client, Server 連 接 器 : C/S間 的 通 訊 協(xié) 議 v風(fēng) 格 分 類 : 1. 管 道 -過 濾 器 風(fēng) 格 2. 面 向 對 象 風(fēng) 格 3. 事 件 驅(qū) 動 風(fēng) 格 4. 分 層 風(fēng) 格 5. 數(shù) 據(jù) 共 享 風(fēng) 格 6. 解 釋 器 風(fēng) 格 7. 反 饋 控 制 環(huán) 風(fēng) 格 8. 異 構(gòu) 風(fēng) 格 的 集 成 v特 別 注 意 : 體 系 結(jié) 構(gòu) 風(fēng) 格 不 是 對 軟 件 進(jìn) 行 分 類 的 標(biāo) 準(zhǔn) 。它 僅 僅 是 表 示 描 述
6、軟 件 的 不 同 角 度 而 已 例 如 一 個(gè) 系 統(tǒng) 采 用 了 分 層 風(fēng) 格 , 但 這 并 不 妨 礙 它 用 面 向 對 象 的方 法 來 實(shí) 現(xiàn) 。 同 一 個(gè) 系 統(tǒng) 采 用 多 種 風(fēng) 格 造 成 了 所 謂 體 系 結(jié) 構(gòu) 風(fēng)格 的 異 構(gòu) 組 合 。 v概 述 在 管 道 -過 濾 器 風(fēng) 格 下 , 每 個(gè) 功 能 模 塊 都 有 一 組 輸 入 和 輸 出 。 功能 模 塊 稱 作 過 濾 器 ( filters) ; 功 能 模 塊 間 的 連 接 可 以 看 作 輸 入、 輸 出 數(shù) 據(jù) 流 之 間 的 通 路 , 所 以 稱 作 管 道 ( pipes) 。
7、管 道 -過 濾 器 風(fēng) 格 的 特 性 之 一 在 于 過 濾 器 的 相 對 獨(dú) 立 性 , 即 過 濾器 獨(dú) 立 完 成 自 身 功 能 , 相 互 之 間 無 需 進(jìn) 行 狀 態(tài) 交 互 。 v過 濾 器 是 獨(dú) 立 運(yùn) 行 的 構(gòu) 件 非 臨 近 的 過 濾 器 之 間 不 共 享 狀 態(tài) 過 濾 器 自 身 無 狀 態(tài)v過 濾 器 對 其 處 理 上 下 連 接 的 過 濾 器 “ 無 知 ” 對 相 鄰 的 過 濾 器 不 施 加 任 何 限 制v結(jié) 果 的 正 確 性 不 依 賴 于 各 個(gè) 過 濾 器 運(yùn) 行 的 先 后 次 序 各 過 濾 器 在 輸 入 具 備 后 完 成
8、 自 己 的 計(jì) 算 。 完 整 的 計(jì) 算 過 程 包 含在 過 濾 器 之 間 的 拓 撲 結(jié) 構(gòu) 中 。 管 道 -過 濾 器 風(fēng) 格v一 個(gè) 管 道 -過 濾 器 風(fēng) 格 的 示 意 圖 如 下 圖 所 示 : FiltersPipes 管 道 -過 濾 器 風(fēng) 格v一 個(gè) 采 用 了 嵌 套 的 管 道 過 濾 器 的 系 統(tǒng) 示 例 : vUnix系 統(tǒng) 中 的 管 道 過 濾 器 結(jié) 構(gòu) ls al | grep myvDOS 中 的 管 道 命 令 DOS允 許 在 命 令 中 出 現(xiàn) 用 豎 線 字 符 “ |”分 開 的 多 個(gè) 命 令 , 將 符號 “ |”之 前 的 命
9、 令 的 輸 出 , 作 為 “ |”之 后 命 令 的 輸 入 , 這 就 是 “管 道 功 能 ” , 豎 線 字 符 “ |”是 管 道 操 作 符 。 例 如 , 命 令 dir | more使 得 當(dāng) 前 目 錄 列 表 在 屏 幕 上 逐 屏 顯 示 。dir的 輸 出 是 整 個(gè) 目 錄 列 表 , 它 不 出 現(xiàn) 在 屏 幕 上 而 是 由 于 符 號“ |”的 規(guī) 定 , 成 為 下 一 個(gè) 命 令 more的 輸 入 , more命 令 則 將 其 輸入 , more命 令 則 將 其 輸 入 一 屏 一 屏 地 顯 示 , 成 為 命 令 行 的 輸 出。 THU SAG
10、roup 12 THU SAGroup 13 vdir | more v通 訊 協(xié) 議 的 信 息 封 裝 (e.g. SDH) v設(shè) 計(jì) 者 可 以 將 整 個(gè) 系 統(tǒng) 的 輸 入 、 輸 出 特 性 簡 單 的 理 解 為各 個(gè) 過 濾 器 功 能 的 合 成 。 設(shè) 計(jì) 人 員 將 整 個(gè) 系 統(tǒng) 的 輸 入 輸 出 行 為 理 解 為 單 個(gè) 過 濾 器 行 為 的疊 加 與 組 合 。 這 樣 可 以 將 問 題 分 解 , 化 繁 為 簡 。 將 系 統(tǒng) 抽 象 成一 個(gè) “ 黑 箱 ” , 其 輸 入 是 系 統(tǒng) 中 第 一 個(gè) 過 濾 器 的 輸 入 管 道 , 輸出 是 系
11、統(tǒng) 中 最 后 一 個(gè) 過 濾 器 的 輸 出 管 道 , 而 其 內(nèi) 部 各 功 能 模 塊的 具 體 實(shí) 現(xiàn) 對 用 戶 完 全 透 明 。 v管 道 -過 濾 器 風(fēng) 格 支 持 功 能 模 塊 的 復(fù) 用 任 何 兩 個(gè) 過 濾 器 , 只 要 它 們 之 間 傳 送 的 數(shù) 據(jù) 遵 守 共 同 的 規(guī) 約 ,就 可 以 相 連 接 。 每 個(gè) 過 濾 器 都 有 自 己 獨(dú) 立 的 輸 入 輸 出 接 口 , 如果 過 濾 器 間 傳 輸 的 數(shù) 據(jù) 遵 守 其 規(guī) 約 , 只 要 用 管 道 將 它 們 連 接 就可 以 正 常 工 作 。 v基 于 管 道 -過 濾 器 風(fēng) 格
12、的 系 統(tǒng) 具 有 較 強(qiáng) 的 可 維 護(hù) 性 和 可 擴(kuò)展 性 。 舊 的 過 濾 器 可 以 被 替 代 , 新 的 過 濾 器 可 以 添 加 到 已 有 的 系 統(tǒng) 上。 軟 件 的 易 于 維 護(hù) 和 升 級 是 衡 量 軟 件 系 統(tǒng) 質(zhì) 量 的 重 要 指 標(biāo) 之 一, 在 管 道 -過 濾 器 模 型 中 , 只 要 遵 守 輸 入 輸 出 數(shù) 據(jù) 規(guī) 約 , 任 何 一個(gè) 過 濾 器 都 可 以 被 另 一 個(gè) 新 的 過 濾 器 代 替 , 同 時(shí) 為 增 強(qiáng) 程 序 功能 , 可 以 添 加 新 的 過 濾 器 。 這 樣 , 系 統(tǒng) 的 可 維 護(hù) 性 和 可 升 級
13、性得 到 了 保 證 。 v支 持 一 些 特 定 的 分 析 , 如 吞 吐 量 計(jì) 算 和 死 鎖 檢 測 等 。 利 用 管 道 -過 濾 器 風(fēng) 格 的 視 圖 , 可 以 很 容 易 的 得 到 系 統(tǒng) 的 資 源 使用 和 請 求 的 狀 態(tài) 圖 。 然 后 , 根 據(jù) 操 作 系 統(tǒng) 原 理 等 相 關(guān) 理 論 中 的死 鎖 檢 測 方 法 就 可 以 分 析 出 系 統(tǒng) 目 前 所 處 的 狀 態(tài) , 是 否 存 在 死鎖 可 能 及 如 何 消 除 死 鎖 等 問 題 。 v管 道 -過 濾 器 風(fēng) 格 具 有 并 發(fā) 性 每 個(gè) 過 濾 器 作 為 一 個(gè) 單 獨(dú) 的 執(zhí)
14、行 任 務(wù) , 可 以 與 其 它 過 濾 器 并 發(fā)執(zhí) 行 。 過 濾 器 的 執(zhí) 行 是 獨(dú) 立 的 , 不 依 賴 于 其 它 過 濾 器 的 。 在 實(shí)際 運(yùn) 行 時(shí) , 可 以 將 存 在 并 發(fā) 可 能 的 多 個(gè) 過 濾 器 看 作 多 個(gè) 并 發(fā) 的任 務(wù) 并 行 執(zhí) 行 , 從 而 大 大 提 高 系 統(tǒng) 的 整 體 效 率 , 加 快 處 理 速 度。 v交 互 式 處 理 能 力 弱 管 道 -過 濾 器 模 型 適 于 數(shù) 據(jù) 流 的 處 理 和 變 換 , 不 適 合 為 與 用 戶 交互 頻 繁 的 系 統(tǒng) 建 模 。 在 這 種 模 型 中 , 每 個(gè) 過 濾 器
15、 都 有 自 己 的 數(shù)據(jù) , 這 些 數(shù) 據(jù) 或 者 是 從 磁 盤 存 儲 器 中 讀 取 來 , 或 者 是 由 另 一 個(gè)過 濾 器 的 輸 出 導(dǎo) 入 進(jìn) 來 , 整 個(gè) 系 統(tǒng) 沒 有 一 個(gè) 共 享 的 數(shù) 據(jù) 區(qū) 。 這樣 , 當(dāng) 用 戶 要 操 作 某 一 項(xiàng) 數(shù) 據(jù) 時(shí) , 要 涉 及 到 多 個(gè) 過 濾 器 對 相 應(yīng)數(shù) 據(jù) 的 操 作 , 其 實(shí) 現(xiàn) 較 為 復(fù) 雜 。 由 以 上 的 缺 點(diǎn) , 可 以 對 每 個(gè) 過濾 器 增 加 相 應(yīng) 的 用 戶 控 制 接 口 , 使 得 外 部 可 以 對 過 濾 器 的 執(zhí) 行進(jìn) 行 控 制 。 改 進(jìn) 的 過 濾 器 v
16、管 道 -過 濾 器 風(fēng) 格 往 往 導(dǎo) 致 系 統(tǒng) 處 理 過 程 的 成 批 操 作 。 v設(shè) 計(jì) 者 也 許 不 得 不 花 費(fèi) 精 力 協(xié) 調(diào) 兩 個(gè) 相 對 獨(dú) 立 但 又 存 在某 種 關(guān) 系 的 數(shù) 據(jù) 流 之 間 的 關(guān) 系 , 例 如 多 過 濾 器 并 發(fā) 執(zhí) 行時(shí) 數(shù) 據(jù) 流 之 間 的 同 步 問 題 等 。v根 據(jù) 實(shí) 際 設(shè) 計(jì) 的 需 要 , 設(shè) 計(jì) 者 也 需 要 對 數(shù) 據(jù) 傳 輸 進(jìn) 行 特定 的 處 理 ( 如 為 了 防 止 數(shù) 據(jù) 泄 漏 而 采 取 加 密 等 手 段 ) ,導(dǎo) 致 過 濾 器 必 須 對 輸 入 、 輸 出 管 道 中 的 數(shù) 據(jù)
17、流 進(jìn) 行 解 析或 反 解 析 , 增 加 了 過 濾 器 具 體 實(shí) 現(xiàn) 的 復(fù) 雜 性 。 v通 信 的 目 的 是 傳 遞 消 息 。 消 息 具 有 不 同 的 形 式 , 例 如 :符 號 、 文 字 、 語 音 、 音 樂 、 數(shù) 據(jù) 、 圖 片 、 圖 像 等 等 。 因而 , 根 據(jù) 所 傳 遞 消 息 的 不 同 , 目 前 通 信 業(yè) 務(wù) 可 以 分 為 電報(bào) 、 電 話 、 傳 真 、 數(shù) 據(jù) 傳 輸 及 可 視 電 話 等 。 對 于 基 本 的點(diǎn) 對 點(diǎn) 通 信 , 是 把 發(fā) 送 端 的 消 息 傳 遞 到 接 收 端 。 數(shù) 字 通 信 概 念 模 型發(fā) 送 端
18、 接 收 端 v將 上 圖 發(fā) 送 端 進(jìn) 一 步 細(xì) 分 為 信 息 源 和 發(fā) 送 設(shè) 備 , 將 接 收端 細(xì) 分 為 接 收 設(shè) 備 和 受 信 者 ; 同 時(shí) , 在 通 信 過 程 中 會 有噪 聲 干 擾 , 在 模 型 中 添 加 噪 聲 源 可 得 到 圖 所 示 的 數(shù) 字 通信 系 統(tǒng) 粗 略 模 型 。數(shù) 字 通 信 系 統(tǒng) 粗 略 模 型信 息 源 發(fā) 送 設(shè) 備 接 收 設(shè) 備 受 信 者噪 聲 源信 道 v圖 中 各 單 元 作 用 : 信 息 源 把 各 種 可 能 信 息 轉(zhuǎn) 換 成 原 始 電 信 號 ; 發(fā) 送 設(shè) 備 對 原 始 電 信 號 完 成 某
19、種 變 化 , 便 于 原 始 信 號 在 信 道 中傳 輸 , 然 后 再 送 入 信 道 ; 信 道 是 指 信 號 傳 輸 的 通 道 , 它 既 可 以 看 成 是 管 道 ( 因 為 它 的 目的 并 不 是 為 了 實(shí) 現(xiàn) 某 種 功 能 , 僅 僅 是 為 了 信 號 的 傳 輸 ) , 也 可以 從 某 種 意 義 上 看 做 是 過 濾 器 ( 因 為 信 號 經(jīng) 過 信 道 后 會 產(chǎn) 生一 些 變 化 , 比 如 加 入 噪 聲 的 影 響 , 從 而 改 變 了 發(fā) 送 設(shè) 備 發(fā) 出 的信 號 ) 。 接 收 設(shè) 備 從 接 收 信 號 中 恢 復(fù) 出 相 應(yīng) 的 原
20、 始 信 號 ; 受 信 者 ( 也 稱 為 信 息 宿 或 接 收 終 端 ) 是 將 復(fù) 原 的 原 始 信 號 轉(zhuǎn) 換成 相 應(yīng) 的 消 息 。 噪 聲 源 是 信 道 中 的 噪 聲 以 及 分 散 在 通 信 系 統(tǒng) 其 它 各 處 的 噪 聲 的集 中 體 現(xiàn) , 它 使 原 信 號 受 到 了 干 擾 , 產(chǎn) 生 畸 變 。 v在 數(shù) 字 通 信 中 存 在 以 下 幾 個(gè) 突 出 的 問 題 : 數(shù) 字 信 號 傳 輸 時(shí) , 信 道 噪 聲 或 干 擾 所 造 成 的 差 錯(cuò) , 原 則 上 都 可以 通 過 差 錯(cuò) 控 制 編 碼 等 手 段 來 控 制 。 為 此 , 在
21、 發(fā) 送 端 需 要 增 加一 個(gè) 編 碼 器 , 而 在 接 收 端 相 應(yīng) 的 需 要 一 個(gè) 解 碼 器 。 當(dāng) 需 要 保 密 時(shí) , 可 以 有 效 的 對 基 帶 信 號 進(jìn) 行 加 密 , 防 止 信 息 被竊 取 或 通 信 被 破 壞 。 此 時(shí) , 在 接 收 端 就 需 要 進(jìn) 行 解 密 。 由 于 數(shù) 字 通 信 傳 輸 的 是 一 個(gè) 接 一 個(gè) 按 節(jié) 拍 傳 送 的 數(shù) 字 信 號 單 元, 即 碼 元 , 因 而 接 收 端 必 須 與 發(fā) 送 端 按 相 同 的 節(jié) 拍 進(jìn) 行 接 收 。不 然 , 會 因 接 收 節(jié) 拍 不 一 致 而 造 成 混 亂 ,
22、 使 接 收 倒 的 數(shù) 據(jù) 全 部無 效 。 因 此 , 數(shù) 字 通 信 系 統(tǒng) 中 必 須 有 同 步 控 制 構(gòu) 件 。v針 對 上 述 問 題 , 可 得 到 數(shù) 字 通 信 系 統(tǒng) 詳 細(xì) 模 型 ( 下 圖 ) 數(shù) 字 通 信 系 統(tǒng) 詳 細(xì) 模 型 v Data Source ( 數(shù) 據(jù) 源 ) 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
23、 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 imple
24、mented by a direct call Make the filter recombination harderv Data Sink ( 數(shù) 據(jù) 接 收 端 ) consumes output data v管 道 -過 濾 器 模 式 的 體 系 結(jié) 構(gòu) 是 面 向 數(shù) 據(jù) 流 的 軟 件 體 系 結(jié)構(gòu) 。 它 最 典 型 的 應(yīng) 用 是 在 編 譯 系 統(tǒng) 。 一 個(gè) 普 通 的 編 譯 系統(tǒng) 包 括 詞 法 分 析 器 , 語 法 分 析 器 , 語 義 分 析 與 中 間 代 碼生 成 器 , 優(yōu) 化 器 , 目 標(biāo) 代 碼 生 成 器 等 一 系 列 對 源 程 序 進(jìn)行 處
25、 理 的 過 程 。 人 們 可 以 將 編 譯 系 統(tǒng) 看 作 一 系 列 過 濾 器的 連 接 體 , 按 照 管 道 /向 事 件 源 btnPress植 入 偵 聽 器 對 象 ButtonEventHandlerbtnPress.addActionListener (new ButtonEventHandler(this); class ButtonEventHandler implements ActionListener /窗 體 對 象 private EventDemo form = null; /通 過 構(gòu) 造 體 傳 入 窗 體 對 象 , /作 用 在 于 讓 偵 聽
26、器 對 象 明 白 事 件 源 處 于 /哪 個(gè) 窗 體 容 器 中 public ButtonEventHandler(EventDemo form) THU SAGroup 61 this.form = form; /委 托 方 法 public void actionPerformed(ActionEvent e) /該 方 法 將 會 把 事 件 的 處 理 權(quán) 交 給 窗 體 容 器 類 的 btnPress_Click方 法 處 理 。 this.form.btnPress_Click(e); /真 正 的 事 件 處 理 代 碼 片 斷 : private void btnPre
27、ss_Click(ActionEvent e) String message = 你 點(diǎn) 擊 的 按 鈕 名 叫 : + (JButton) e.getSource().getName(); this.txtMessage.setText(message); THU SAGroup 62 v事 件 驅(qū) 動 風(fēng) 格 非 常 適 合 于 描 述 系 統(tǒng) 族 , 在 屬 于 同 一 族 的任 何 系 統(tǒng) 中 , 系 統(tǒng) 的 高 級 管 理 子 系 統(tǒng) 的 描 述 是 完 全 類 似的 , 便 于 重 用 ; v由 于 最 高 管 理 子 系 統(tǒng) 牢 牢 的 掌 握 著 控 制 權(quán) , 又 因 為 各
28、 同級 子 系 統(tǒng) 一 般 不 直 接 發(fā) 生 關(guān) 系 , 因 此 容 易 實(shí) 現(xiàn) 并 發(fā) 處 理和 多 任 務(wù) 操 作 ;v基 于 事 件 驅(qū) 動 風(fēng) 格 的 系 統(tǒng) 具 有 良 好 的 可 擴(kuò) 展 性 , 設(shè) 計(jì) 者只 需 為 某 個(gè) 對 象 注 冊 一 個(gè) 事 件 處 理 接 口 就 可 以 將 該 對 象引 入 整 個(gè) 系 統(tǒng) , 同 時(shí) 并 不 影 響 其 它 的 系 統(tǒng) 對 象 。 v定 義 了 包 含 執(zhí) 行 子 系 統(tǒng) 和 管 理 子 系 統(tǒng) 的 類 層 次 結(jié) 構(gòu) ;v簡 化 客 戶 代 碼 ;v使 整 個(gè) 系 統(tǒng) 的 設(shè) 計(jì) 更 具 有 一 般 化 。 v事 件 驅(qū) 動 風(fēng)
29、 格 最 大 的 不 足 在 于 構(gòu) 件 削 弱 了 自 身 對 系 統(tǒng) 計(jì)算 的 控 制 能 力 v事 件 驅(qū) 動 風(fēng) 格 中 存 在 的 另 一 個(gè) 問 題 在 于 數(shù) 據(jù) 共 享 v系 統(tǒng) 中 各 個(gè) 對 象 的 邏 輯 關(guān) 系 變 得 更 加 復(fù) 雜 v基 于 面 向 對 象 風(fēng) 格 的 系 統(tǒng) 由 多 個(gè) 封 裝 起 來 的 對 象 構(gòu) 成 ,對 象 之 間 通 過 消 息 傳 遞 實(shí) 現(xiàn) 通 信 , 而 事 件 驅(qū) 動 正 是 對 消息 傳 遞 機(jī) 制 的 一 種 實(shí) 現(xiàn) 。 所 以 基 于 事 件 驅(qū) 動 風(fēng) 格 的 系 統(tǒng)往 往 都 是 面 向 對 象 的 。 v事 件 驅(qū) 動
30、 風(fēng) 格 實(shí) 例 : JavaBean系 統(tǒng) 概 述 事 件 從 事 件 源 到 監(jiān) 聽 者 的 傳 遞 是 通 過 對 目 標(biāo) 監(jiān) 聽 者 對 象 的 Java方 法 調(diào) 用 進(jìn) 行 的 。 對 每 個(gè) 明 確 的 事 件 的 發(fā) 生 , 都 相 應(yīng) 地 定 義 一個(gè) 明 確 的 Java方 法 。 這 些 方 法 都 集 中 定 義 在 事 件 監(jiān) 聽 者 (EventListener) 接 口 中 , 這 個(gè) 接 口 要 繼 承java.util.EventListener。 vJavaBean系 統(tǒng) (續(xù) ) 事 件 狀 態(tài) 對 象 與 事 件 發(fā) 生 有 關(guān) 的 狀 態(tài) 信 息 一
31、般 都 封 裝 在 一 個(gè) 事 件 狀 態(tài) 對 象 中, 這 種 對 象 是 java.util.EventObject的 子 類 。 按 設(shè) 計(jì) 習(xí) 慣 , 這種 事 件 狀 態(tài) 對 象 類 的 名 應(yīng) 以 Event結(jié) 尾 。 vJavaBean系 統(tǒng) (續(xù) ) 事 件 監(jiān) 聽 者 接 口 ( EventListener Interface) 與 事 件 監(jiān) 聽 者 由 于 Java事 件 模 型 是 基 于 方 法 調(diào) 用 , 因 而 需 要 一 個(gè) 定 義 并 組 織事 件 操 縱 方 法 的 方 式 。 JavaBean中 , 事 件 操 縱 方 法 都 被 定 義 在繼 承 了 j
32、ava.util.EventListener類 的 EventListener接 口 中 , 按規(guī) 定 , EventListener接 口 的 命 名 要 以 Listener結(jié) 尾 。 任 何 一 個(gè)類 如 果 想 操 縱 在 EventListener接 口 中 定 義 的 方 法 都 必 須 以 實(shí) 現(xiàn)這 個(gè) 接 口 方 式 進(jìn) 行 。 這 個(gè) 類 也 就 是 事 件 監(jiān) 聽 者 。 vJavaBean系 統(tǒng) (續(xù) ) 事 件 監(jiān) 聽 者 的 注 冊 與 注 銷 為 了 各 種 可 能 的 事 件 監(jiān) 聽 者 把 自 己 注 冊 入 合 適 的 事 件 源 中 , 建立 源 與 事 件
33、 監(jiān) 聽 者 間 的 事 件 流 , 事 件 源 必 須 為 事 件 監(jiān) 聽 者 提 供注 冊 和 注 銷 的 方 法 。 在 前 面 的 bound屬 性 介 紹 中 已 看 到 了 這 種使 用 過 程 , 在 實(shí) 際 中 , 事 件 監(jiān) 聽 者 的 注 冊 和 注 銷 要 使 用 標(biāo) 準(zhǔn) 的設(shè) 計(jì) 格 式 : public void add( listener) public void remove( listener) v適 配 類 適 配 類 是 JavaBean事 件 模 型 中 極 其 重 要 的 一 部 分 。 在 一 些 應(yīng) 用場 合 , 事 件 從 源 到 監(jiān) 聽 者 之
34、間 的 傳 遞 要 通 過 適 配 類 來 “ 轉(zhuǎn) 發(fā) ”。 適 配 類 成 為 了 事 件 監(jiān) 聽 者 , 事 件 源 實(shí) 際 是 把 適 配 類 作 為 監(jiān) 聽 者注 冊 入 監(jiān) 聽 者 隊(duì) 列 中 , 而 真 正 的 事 件 響 應(yīng) 者 并 未 在 監(jiān) 聽 者 隊(duì) 列中 , 事 件 響 應(yīng) 者 應(yīng) 做 的 動 作 由 適 配 類 決 定 。 vTurbo Vision Borland公 司 開 發(fā) 的 Turbo Pascal6.0中 提 供 了 一 種 面 向 對 象 的事 件 驅(qū) 動 程 序 設(shè) 計(jì) 的 工 具 包 Turbo Vision。 Turbo Vision把 各種 屏 幕
35、 上 的 可 見 對 象 歸 納 為 2大 類 : 一 類 為 執(zhí) 行 對 象 , 另 一 類 為管 理 對 象 , 分 別 稱 為 TView和 TGroup類 對 象 。 又 因 為 TGroup和 TView類 有 相 同 之 處 , 故 TGroup是 從 TView派 生 而 得 , 在Turbo Vision中 , TGroup類 的 對 象 一 般 不 進(jìn) 行 實(shí) 際 操 作 , 不 直接 在 屏 幕 上 顯 示 自 己 , 而 是 通 過 自 己 的 下 屬 顯 示 自 己 , 所 有 的實(shí) 際 操 作 都 是 通 過 TView類 對 象 進(jìn) 行 的 。v Turbo Vis
36、ion 很 好 地 體 現(xiàn) 了 面 向 對 象 方 法 和 事 件 驅(qū) 動 程 序 設(shè) 計(jì)方 法 的 精 髓 , TApplication是 一 個(gè) 可 以 運(yùn) 行 的 交 互 式 程 序 對 象, 除 了 啟 動 和 退 出 之 外 , 它 不 提 供 任 何 功 能 , 使 用 Turbo Vision, 就 能 高 效 和 快 速 地 開 發(fā) 出 高 質(zhì) 量 地 應(yīng) 用 程 序 。 Turbo Vision Turbo Vision軟 件 包 中 對 象 的 分 類 結(jié) 構(gòu) 如 圖 所 示 : Turbo Vision中 對 象 的 分 類 結(jié) 構(gòu) Turbo Vision Turbo
37、Vision對 象 的 組 裝 結(jié) 構(gòu) 一 般 說 來 , TApplication對 象 擁 有 并 管 理它 創(chuàng) 建 的 3個(gè) 子 對 象 TMenuBar, TDeskTop和 TStatusLine, 如 圖 所 示 . Turbo Vision的 組 裝 結(jié) 構(gòu) TApplication StatusLineDeskTopMenuBar TBackGround Turbo Vision 在 程 序 的 實(shí) 際 運(yùn) 行 中 , Application對 象 通 常 創(chuàng) 建 各 種 TWindow類 和Tdialog類 對 象 , 并 委 托 DeskTop代 為 管 理 .因 此 ,
38、DeskTop對 象 的 組 裝 常 常 隨程 序 的 運(yùn) 行 而 改 變 .窗 口 對 象 (Twindow類 )和 對 話 框 對 象 (Toialog類 )隨 應(yīng) 用的 不 同 而 不 同 , 典 型 的 窗 口 和 對 話 框 對 象 的 組 裝 結(jié) 構(gòu) 如 圖 所 示 .窗 口 和 對 話 框 對 象 的 組 裝 結(jié) 構(gòu) WindowFrame Scroller VerticalScrollBar HorizontalScrollBar DialogButtonFrame StaticText vTurbo Vision Turbo Vision把 事 件 抽 象 為 3種 類 型
39、的 事 件 :位 置 事 件 、 聚 焦 事 件 和 廣 播 事件 。 典 型 的 位 置 事 件 是 鼠 標(biāo) 器 事 件 , TGroup類 視 圖 把 位 置 事 件 交 給 管 理 該 區(qū)域 的 子 視 圖 ;典 型 的 聚 焦 事 件 是 擊 鍵 和 命 令 事 件 (典 型 的 命 令 事 件 是 由 狀 態(tài) 行 或菜 單 條 、 下 拉 菜 單 將 擊 鍵 事 件 或 鼠 標(biāo) 器 事 件 轉(zhuǎn) 換 而 得 ), TGroup類 視 圖 把 該 事件 交 給 處 于 聚 焦 狀 態(tài) 的 下 級 視 圖 ;廣 播 事 件 是 管 理 視 圖 不 知 道 該 交 給 誰 的 那 種事 件
40、, 對 于 這 種 事 件 , 它 將 該 事 件 交 給 所 有 的 視 圖 。 Turbo Vision程 序 在 運(yùn) 行 時(shí) , 由 TApplication對 象 收 集 鼠 標(biāo) 器 事 件 和 健 盤 事件 以 及 各 種 其 它 事 件 , 然 后 按 一 定 的 規(guī) 則 交 給 下 屬 去 處 理 .例 如 , 對 于 鼠 標(biāo) 器事 件 , 如 果 它 發(fā) 生 在 菜 單 條 上 , 則 將 它 交 給 菜 單 條 來 處 理 ;如 果 它 發(fā) 生 在 狀 態(tài)行 , 則 將 它 交 給 狀 態(tài) 行 來 處 理 ;如 果 它 發(fā) 生 在 DeskTop上 , 則 將 它 交 給 D
41、eskTop來 處 理 。 總 之 , 細(xì) 節(jié) 問 題 總 是 交 給 下 屬 來 處 理 .狀 態(tài) 行 和 菜 單 條 的 任 務(wù) 是 將 鍵盤 事 件 和 自 己 轄 區(qū) 的 鼠 標(biāo) 器 事 件 轉(zhuǎn) 換 成 為 命 令 事 件 , 再 上 交 給 TApplication。 v特 征 一 個(gè) 分 層 系 統(tǒng) 采 用 層 次 化 的 組 織 方 式 構(gòu) 建 , 系 統(tǒng) 中 的 每 一 層 都要 承 擔(dān) 兩 個(gè) 角 色 。 首 先 , 它 要 為 結(jié) 構(gòu) 中 的 上 層 提 供 服 務(wù) ; 其 次 , 它 要 作 為 結(jié) 構(gòu) 中 下 面 層 次 的 客 戶 , 調(diào) 用 下 層 提 供 的 功能
42、 函 數(shù) 。 v一 個(gè) 概 念 上 的 分 層 模 型 如 下 圖 所 示 : 核 心 層( 最 底 層 ) 功 能 層( 中 間 層 ) 應(yīng) 用 層( 最 高 層 ) v分 層 風(fēng) 格 具 有 一 些 系 統(tǒng) 設(shè) 計(jì) 者 無 法 抗 拒 的 優(yōu) 勢 : 分 層 風(fēng) 格 支 持 系 統(tǒng) 設(shè) 計(jì) 過 程 中 的 逐 級 抽 象 基 于 分 層 風(fēng) 格 的 系 統(tǒng) 具 有 較 好 的 可 擴(kuò) 展 性 分 層 風(fēng) 格 支 持 軟 件 復(fù) 用 v并 不 是 所 有 的 系 統(tǒng) 都 適 合 用 分 層 風(fēng) 格 來 描 述 的 v對 于 抽 象 出 來 的 功 能 具 體 應(yīng) 該 放 在 哪 個(gè) 層 次
43、上 也 是 設(shè) 計(jì)者 頭 疼 的 一 個(gè) 問 題 v分 層 風(fēng) 格 實(shí) 例 : 計(jì) 算 機(jī) 網(wǎng) 絡(luò) 的 設(shè) 計(jì)v概 述 網(wǎng) 絡(luò) 協(xié) 議 設(shè) 計(jì) 者 將 計(jì) 算 機(jī) 網(wǎng) 絡(luò) 中 的 各 個(gè) 部 分 按 其 功 能 劃 分 為 若干 個(gè) 層 次 ( Layer) , 其 中 的 每 一 個(gè) 層 次 都 可 以 看 成 是 一 個(gè) 相 對獨(dú) 立 的 黑 箱 、 一 個(gè) 封 閉 的 系 統(tǒng) 。 用 戶 只 關(guān) 心 每 一 層 的 外 部 特 性, 只 需 要 定 義 每 一 層 的 輸 入 、 數(shù) 據(jù) 處 理 和 輸 出 等 外 部 特 性 。 vISO/OSI網(wǎng) 絡(luò) 體 系 結(jié) 構(gòu)ISO/OSI采
44、用 了 7層 體 系 結(jié) 構(gòu) , 從 高 到 低 分 別 是 : 應(yīng) 用 層 、 表 示 層 、 會 話 層 、傳 輸 層 、 網(wǎng) 絡(luò) 層 、 數(shù) 據(jù) 鏈 路 層 和 物 理 層 , 如 圖 所 示 。 其 最 高 層 為 第 7層 應(yīng) 用 層 ,用 于 同 應(yīng) 用 服 務(wù) 之 間 交 換 數(shù) 據(jù) ; 最 低 層 為 第 1層 物 理 層 , 用 于 連 接 物 理 傳 輸 介質(zhì) 實(shí) 現(xiàn) 真 正 的 數(shù) 據(jù) 通 信 。 層 與 層 之 間 的 聯(lián) 系 是 通 過 各 層 之 間 的 接 口 來 實(shí) 現(xiàn) 的 ,上 層 通 過 接 口 向 下 層 提 出 服 務(wù) 請 求 , 而 下 層 通 過 接
45、 口 向 上 層 提 供 服 務(wù) 。 兩 臺計(jì) 算 機(jī) 通 過 網(wǎng) 絡(luò) 進(jìn) 行 通 信 時(shí) , 只 有 兩 物 理 層 之 間 能 夠 通 過 媒 體 進(jìn) 行 真 正 的 數(shù)據(jù) 通 信 , 其 余 各 對 等 層 之 間 均 不 存 在 直 接 的 通 信 關(guān) 系 , 各 對 等 層 之 間 只 能 通過 各 對 等 層 的 協(xié) 議 來 進(jìn) 行 虛 擬 通 信 。 ISO/OSI網(wǎng) 絡(luò) 體 系 結(jié) 構(gòu)vISO/OSI網(wǎng) 絡(luò) 體 系 結(jié) 構(gòu) vISO/OSI網(wǎng) 絡(luò) 體 系 結(jié) 構(gòu) 為 了 理 解 ISO/OSI各 層 的 功 能 , 以 運(yùn) 輸 公 司 進(jìn) 行 貨 物 運(yùn) 輸 為例 來 進(jìn) 行
46、說 明 , 也 就 是 利 用 人 們 熟 知 的 東 西 來 理 解 陌 生 抽 象的 概 念 。 其 中 , 第 13層 3個(gè) 層 次 相 當(dāng) 于 由 運(yùn) 輸 公 司 負(fù) 責(zé) 的 貨物 運(yùn) 輸 過 程 中 的 具 體 細(xì) 節(jié) 、 具 體 操 作 方 式 ; 第 4層 相 當(dāng) 于 運(yùn)輸 公 司 與 用 戶 之 間 的 接 口 ; 第 57層 3個(gè) 層 次 相 當(dāng) 于 由 用 戶 公司 負(fù) 責(zé) 的 將 貨 物 交 去 運(yùn) 輸 所 需 要 做 的 準(zhǔn) 備 工 作 。 第 1層 是 物 理 層 ( Physical Layer) , 它 負(fù) 責(zé) 在 物 理 信 道 上 傳 輸原 始 的 數(shù) 據(jù) b
47、it流 。 它 應(yīng) 該 提 供 為 建 立 、 維 護(hù) 和 拆 除 物 理 鏈 路 連接 所 需 的 機(jī) 械 的 、 電 氣 的 、 功 能 和 規(guī) 程 的 特 性 , 這 類 似 于 運(yùn) 輸車 輛 只 需 要 負(fù) 責(zé) 將 裝 在 車 輛 內(nèi) 的 貨 物 ( 類 似 于 bits) 運(yùn) 送 到 某地 就 行 了 。 第 2層 是 數(shù) 據(jù) 鏈 路 層 ( Data Link Layer) , 它 的 主 要 功 能 是 糾錯(cuò) 和 流 量 控 制 , 負(fù) 責(zé) 在 可 能 出 現(xiàn) 差 錯(cuò) 的 物 理 線 路 中 實(shí) 現(xiàn) 無 差 錯(cuò)的 數(shù) 據(jù) 傳 送 。 它 應(yīng) 該 在 物 理 層 的 基 礎(chǔ) 上 ,
48、 建 立 相 鄰 結(jié) 點(diǎn) 之 間 的數(shù) 據(jù) 鏈 路 , 通 過 差 錯(cuò) 控 制 提 供 數(shù) 據(jù) 幀 ( Frame) 的 無 差 錯(cuò) 傳 輸, 并 進(jìn) 行 數(shù) 據(jù) 流 量 控 制 。 這 類 似 于 運(yùn) 輸 公 司 的 運(yùn) 輸 管 理 和 質(zhì) 量監(jiān) 督 部 門 , 需 要 負(fù) 責(zé) 在 可 能 出 現(xiàn) 問 題 的 運(yùn) 輸 線 路 之 中 保 質(zhì) 保 量地 完 成 運(yùn) 輸 任 務(wù) 。 第 3層 是 網(wǎng) 絡(luò) 層 ( Network Layer) , 它 的 主 要 功 能 是 路 由 控 制( 找 路 ) 、 擁 塞 控 制 和 數(shù) 據(jù) 打 包 。 它 應(yīng) 該 為 其 上 一 層 傳 輸 層 的數(shù)
49、據(jù) 傳 輸 提 供 建 立 、 維 護(hù) 和 終 止 網(wǎng) 絡(luò) 連 接 的 手 段 , 把 上 層 傳 來的 數(shù) 據(jù) 分 割 成 一 個(gè) 一 個(gè) 的 數(shù) 據(jù) 包 ( Packet, 也 叫 報(bào) 文 分 組 ) 在結(jié) 點(diǎn) 之 間 進(jìn) 行 交 換 傳 送 , 并 且 負(fù) 責(zé) 路 由 控 制 和 擁 塞 控 制 。 這 類似 于 運(yùn) 輸 公 司 需 要 將 用 戶 發(fā) 送 的 貨 物 進(jìn) 行 分 割 打 包 , 并 在 現(xiàn) 有的 交 通 網(wǎng) 絡(luò) 之 中 負(fù) 責(zé) 找 出 一 條 從 源 地 址 到 目 的 地 址 的 線 路 ( 即找 路 ) , 在 找 路 時(shí) 需 要 考 慮 到 能 否 到 達(dá) 、 擁
50、 塞 狀 況 、 安 全 可 靠性 、 甚 至 交 通 費(fèi) 用 等 諸 多 方 面 的 因 素 。 第 4層 是 傳 輸 層 ( Transport Layer) , 它 的 主 要 功 能 是 在 上 層和 下 層 之 間 起 到 一 種 接 口 的 功 能 。 它 應(yīng) 該 為 上 層 提 供 端 到 端 (最 終 用 戶 到 最 終 用 戶 ) 、 的 透 明 的 、 可 靠 的 數(shù) 據(jù) 傳 輸 服 務(wù) 。 所謂 透 明 的 傳 輸 是 指 在 通 信 過 程 中 上 層 可 以 將 下 面 各 層 看 作 是 一個(gè) 封 閉 的 黑 箱 系 統(tǒng) , 傳 輸 層 對 上 層 屏 蔽 了 傳
51、輸 系 統(tǒng) 的 具 體 細(xì) 節(jié)。 這 類 似 于 運(yùn) 輸 公 司 在 各 個(gè) 地 方 設(shè) 置 的 業(yè) 務(wù) 接 洽 處 , 它 負(fù) 責(zé) 在用 戶 和 公 司 之 間 建 立 起 一 個(gè) 貨 物 交 接 的 橋 梁 , 使 得 用 戶 不 用 去管 運(yùn) 輸 公 司 將 以 什 么 樣 的 方 式 將 貨 物 運(yùn) 送 到 目 的 地 , 也 就 是 說業(yè) 務(wù) 接 洽 處 對 用 戶 屏 蔽 了 貨 物 運(yùn) 輸 中 的 具 體 細(xì) 節(jié) 。 第 5層 是 會 話 層 ( Session Layer) , 它 的 主 要 功 能 是 負(fù) 責(zé) 收 發(fā)數(shù) 據(jù) 的 交 接 工 作 、 并 組 織 和 管 理 數(shù)
52、 據(jù) 。 它 應(yīng) 該 為 表 示 層 提 供 建立 、 維 護(hù) 和 結(jié) 束 會 話 連 接 的 功 能 , 并 提 供 會 話 管 理 服 務(wù) 。 這 類似 于 用 戶 公 司 的 貨 物 收 發(fā) 室 , 它 負(fù) 責(zé) 與 運(yùn) 輸 公 司 打 交 道 , 完 成用 戶 公 司 貨 物 的 收 發(fā) 的 交 接 工 作 、 并 組 織 管 理 公 司 內(nèi) 部 要 收 發(fā)的 貨 物 。 第 6層 是 表 示 層 ( Presentation Layer) , 它 的 主 要 功 能 是 為 數(shù)據(jù) 提 供 收 發(fā) 、 存 放 的 具 體 格 式 和 規(guī) 范 。 它 應(yīng) 該 為 應(yīng) 用 層 提 供 信息
53、表 示 方 式 的 服 務(wù) , 如 數(shù) 據(jù) 格 式 的 變 換 、 文 本 壓 縮 、 加 密 技 術(shù)等 。 這 類 似 于 用 戶 公 司 的 貨 物 收 發(fā) 員 , 它 負(fù) 責(zé) 與 用 戶 公 司 內(nèi) 部要 收 發(fā) 貨 物 的 部 門 或 個(gè) 人 打 交 道 , 在 收 集 要 發(fā) 送 的 貨 物 時(shí) 告 訴用 戶 應(yīng) 該 怎 樣 填 寫 發(fā) 貨 資 料 , 在 向 用 戶 發(fā) 放 貨 物 時(shí) 告 訴 用 戶 應(yīng)該 完 清 哪 些 具 體 手 續(xù) , 等 等 。 第 7層 是 應(yīng) 用 層 ( Application Layer) , 它 的 主 要 功 能 是 為 數(shù)據(jù) 提 供 各 種 可
54、 行 的 收 發(fā) 方 式 。 它 應(yīng) 該 為 網(wǎng) 絡(luò) 用 戶 或 應(yīng) 用 程 序 提供 各 種 應(yīng) 用 服 務(wù) , 如 文 件 傳 輸 、 電 子 郵 件 ( E-mail) 、 分 布 式數(shù) 據(jù) 庫 、 網(wǎng) 絡(luò) 管 理 等 。 這 類 似 于 用 戶 公 司 內(nèi) 部 的 部 門 或 個(gè) 人 在收 發(fā) 貨 物 時(shí) , 都 必 須 遵 循 用 戶 公 司 內(nèi) 部 的 有 關(guān) 規(guī) 定 , 只 能 使 用用 戶 公 司 所 允 許 的 方 式 來 收 發(fā) 貨 物 。 從 另 一 方 面 來 說 , 用 戶 公司 也 要 為 公 司 內(nèi) 部 的 部 門 或 個(gè) 人 收 發(fā) 貨 物 提 供 各 種 可
55、行 的 收 發(fā)方 式 , 讓 用 戶 公 司 內(nèi) 部 的 部 門 或 個(gè) 人 知 道 他 們 能 夠 使 用 哪 些 方式 來 收 發(fā) 貨 物 。 vISO/OSI層 次 分 組 關(guān) 系 :有 兩 種 分 組 方 法 I第 一 種 可 以 從 數(shù) 據(jù) 處 理 分 工 的 角 度 , 將 ISO/OSI七 個(gè) 層 次 分 為三 組 : 第 1、 2層 解 決 有 關(guān) 網(wǎng) 絡(luò) 信 道 問 題 ; 第 3、 4層 解 決 傳 輸 服務(wù) 問 題 ; 第 5、 6、 7層 則 處 理 對 應(yīng) 用 進(jìn) 程 的 訪 問 。 從 數(shù) 據(jù) 傳 輸 控 制 的 角 度 , 將 ISO/OSI七 個(gè) 層 次 分 為
56、 三 組 : 下 三 層( 1、 2、 3層 ) 可 以 看 作 是 傳 輸 控 制 組 , 負(fù) 責(zé) 通 信 子 網(wǎng) 的 工 作 ,解 決 網(wǎng) 絡(luò) 中 的 通 信 問 題 ; 上 三 層 ( 5、 6、 7層 ) 為 應(yīng) 用 控 制 組 ,負(fù) 責(zé) 有 關(guān) 資 源 子 網(wǎng) 的 工 作 , 解 決 應(yīng) 用 進(jìn) 程 之 間 的 信 息 轉(zhuǎn) 換 問 題; 中 間 層 ( 4層 ) 則 為 通 信 子 網(wǎng) 和 資 源 子 網(wǎng) 的 接 口 , 起 到 連 接 傳輸 和 應(yīng) 用 的 作 用 。 v .Net平 臺 也 是 一 個(gè) 明 顯 的 分 層 系 統(tǒng) : THU SAGroup 94 v.Net 框
57、架 分 層 模 圖 v特 征 采 用 數(shù) 據(jù) 共 享 風(fēng) 格 構(gòu) 建 的 系 統(tǒng) 中 通 常 有 兩 個(gè)截 然 不 同 的 功 能 構(gòu) 件 ; 中 央 數(shù) 據(jù) 單 元 構(gòu) 件 ; 一 些 相 對 獨(dú) 立 的 構(gòu) 件 的 集 合 。 v數(shù) 據(jù) 共 享 風(fēng) 格 的 示 意 圖 如 下 圖 所 示 : 中 央 數(shù) 據(jù) 單 元 ks1 ks5ks4 ks3 ks2 ks6 ks7 ks8 v信 息 交 互 方 式 的 差 異 導(dǎo) 致 了 控 制 策 略 的 不 同 。 主 要 的 控制 策 略 有 兩 種 , 正 是 依 據(jù) 這 兩 種 不 同 的 控 制 策 略 , 基 于數(shù) 據(jù) 共 享 風(fēng) 格 的
58、 系 統(tǒng) 被 分 成 兩 個(gè) 子 類 : 基 于 傳 統(tǒng) 數(shù) 據(jù) 庫 型 數(shù) 據(jù) 共 享 風(fēng) 格 的 應(yīng) 用 系 統(tǒng) 基 于 黑 板 型 數(shù) 據(jù) 共 享 風(fēng) 格 的 應(yīng) 用 系 統(tǒng) v下 面 主 要 介 紹 基 于 黑 板 型 數(shù) 據(jù) 共 享 風(fēng) 格 的 應(yīng) 用 系 統(tǒng) THU SAGroup 97 v一 個(gè) 典 型 的 黑 板 型 數(shù) 據(jù) 共 享 系 統(tǒng) 包 括 以 下 三 個(gè) 部 分 :1. 知 識 源 : 知 識 源 中 包 含 獨(dú) 立 的 、 與 應(yīng) 用 程 序 相 關(guān) 的 知 識 , 知 識源 之 間 不 直 接 進(jìn) 行 通 訊 , 它 們 之 間 的 交 互 只 通 過 黑 板 來
59、 完 成 。2. 黑 板 數(shù) 據(jù) 結(jié) 構(gòu) : 黑 板 數(shù) 據(jù) 是 按 照 與 應(yīng) 用 程 序 相 關(guān) 的 層 次 來 組 織的 解 決 問 題 的 數(shù) 據(jù) , 知 識 源 通 過 不 斷 地 改 變 黑 板 數(shù) 據(jù) 來 解 決 問題 。3. 控 制 : 控 制 完 全 由 黑 板 的 狀 態(tài) 驅(qū) 動 , 黑 板 狀 態(tài) 的 改 變 決 定 使 用的 特 定 知 識 。v 黑 板 模 式 對 于 無 確 定 性 求 解 策 略 的 問 題 比 較 有 用 , 在 專家 系 統(tǒng) 中 , 這 種 模 式 應(yīng) 用 的 比 較 廣 泛 。 v解 決 問 題 的 多 方 法 性 : 對 于 一 個(gè) 專 家
60、 系 統(tǒng) , 針 對 于 要 解 決 的 問 題 , 如 果 在 其 領(lǐng) 域 中 沒有 獨(dú) 立 的 方 法 存 在 , 而 且 對 解 空 間 的 完 全 搜 索 也 是 不 可 行 的 ,在 黑 板 模 式 中 可 以 用 多 種 不 同 的 算 法 來 進(jìn) 行 試 驗(yàn) , 并 且 也 允 許用 不 同 的 控 制 方 法 。v具 有 可 更 改 性 和 可 維 護(hù) 性 : 因 為 在 黑 板 模 式 中 每 個(gè) 知 識 源 是 獨(dú) 立 的 , 彼 此 之 間 的 通 信 通 過黑 板 來 完 成 , 所 以 這 使 整 個(gè) 系 統(tǒng) 更 具 有 可 更 改 性 和 可 維 護(hù) 性 。 v有
61、可 重 用 的 知 識 源 : 由 于 每 個(gè) 知 識 源 在 黑 板 系 統(tǒng) 中 都 是 獨(dú) 立 的 , 如 果 知 識 源 和 所 基于 的 黑 板 系 統(tǒng) 有 理 解 相 同 的 協(xié) 議 和 數(shù) 據(jù) , 我 們 就 可 以 重 用 知 識源 。v支 持 容 錯(cuò) 性 和 健 壯 性 : 在 黑 板 模 式 中 所 有 的 結(jié) 果 都 是 假 設(shè) 的 , 并 且 只 有 那 些 被 數(shù) 據(jù) 和其 它 假 設(shè) 強(qiáng) 烈 支 持 的 才 能 夠 生 存 。 這 對 于 噪 聲 數(shù) 據(jù) 和 不 確 定 的結(jié) 論 有 很 強(qiáng) 的 容 錯(cuò) 性 。 v測 試 困 難 : 由 于 黑 板 模 式 的 系 統(tǒng)
62、 有 中 央 數(shù) 據(jù) 構(gòu) 件 來 描 述 系 統(tǒng) 的 體 現(xiàn) 系 統(tǒng) 的狀 態(tài) , 所 以 系 統(tǒng) 的 執(zhí) 行 沒 有 確 定 的 順 序 , 其 結(jié) 果 的 可 再 現(xiàn) 性 比較 差 , 難 于 測 試 。v不 能 保 證 有 好 的 求 解 方 案 : 一 個(gè) 黑 板 模 式 的 系 統(tǒng) 所 提 供 給 我 們 的 往 往 是 所 解 決 問 題 的 一 個(gè)百 分 比 , 而 不 是 最 佳 的 解 決 方 案 。v效 率 低 : 黑 板 模 式 的 系 統(tǒng) 在 拒 絕 錯(cuò) 誤 假 設(shè) 的 時(shí) 候 要 承 受 多 余 的 計(jì) 算 開 銷, 所 以 導(dǎo) 致 效 率 比 較 低 。 v開 發(fā)
63、成 本 高 : 絕 大 部 分 黑 板 模 式 的 系 統(tǒng) 需 要 用 幾 年 的 時(shí) 間 來 進(jìn) 化 , 所 以 開 發(fā)成 本 較 高 。v缺 少 對 并 行 機(jī) 的 支 持 : 黑 板 模 式 要 求 黑 板 上 的 中 心 數(shù) 據(jù) 同 步 并 發(fā) 訪 問 , 所 以 缺 少 對 不并 行 機(jī) 的 支 持 。 v 數(shù) 據(jù) 共 享 風(fēng) 格 實(shí) 例 : 專 家 系 統(tǒng) ( ES, Expert System) 概 述 : 專 家 系 統(tǒng) 實(shí) 質(zhì) 就 是 一 組 程 序 ; 從 功 能 上 : 可 定 義 為 “ 一 個(gè) 在 某 領(lǐng) 域 具 有 專 家 水 平 解 題 能 力 的程 序 系 統(tǒng)
64、” , 能 像 領(lǐng) 域 專 家 一 樣 工 作 , 運(yùn) 用 專 家 積 累 的 工 作 經(jīng)驗(yàn) 與 專 門 知 識 , 在 很 短 時(shí) 間 內(nèi) 對 問 題 得 出 高 水 平 的 解 答 。 從 結(jié) 構(gòu) 上 講 : 可 定 義 為 “ 由 一 個(gè) 專 門 領(lǐng) 域 的 知 識 庫 , 以 及 一 個(gè)能 獲 取 和 運(yùn) 用 知 識 的 機(jī) 構(gòu) 構(gòu) 成 的 解 題 程 序 系 統(tǒng) ” 。 vES一 般 結(jié) 構(gòu) 如 下 圖 所 示 : IECRMAS知 識 生 態(tài) 系 統(tǒng) IECRMAS知 識 生 態(tài) 系 統(tǒng) 的 構(gòu) 建知 識 生 態(tài) 系 統(tǒng) IECRMAS 環(huán) 境 有 機(jī) 體知 識 生 產(chǎn) 者 評估者
65、 知 識 知 識 消 費(fèi) 者 評 估 知 識 分 解 者 Agent Agent CKO KDD評估者 評估者 vIECRMAS知 識 生 態(tài) 系 統(tǒng) 知識系統(tǒng)環(huán)境 知 識 生 產(chǎn) 者 知 識 消 費(fèi) 者 知 識 分 解 者 IECRMAS知 識 生 態(tài) 系 統(tǒng)知 識 庫 系 統(tǒng) 實(shí) 例客 戶 數(shù) 據(jù) 倉 交 易 數(shù) 據(jù) 倉 違 約 數(shù) 據(jù) 倉 經(jīng) 驗(yàn) 教 訓(xùn) 數(shù) 據(jù) 倉 DRM/DWE信 息 庫 數(shù) 據(jù) 庫知 識 庫 知 識 Agent信 用 評 估 知 識 基 評 估 Agent 評 估 Agent 評 估 Agent 知 識 鏈 知 識 Agent 管 理 Agent 檢 索 評 估 系
66、 統(tǒng)知 識 基 更 新 傳 遞 傳 遞 傳 遞 學(xué) 習(xí) 學(xué) 習(xí) 學(xué) 習(xí) 客 戶 Agent 更 新 更 新 檢 索 數(shù) 據(jù) 庫信 息 庫知 識 庫 外部知識協(xié)作交流 IECRMAS知 識 生 態(tài) 系 統(tǒng) 評 估 Agent 學(xué) 習(xí) 外 部 知 識輸 入 知 識 輸 出 個(gè) 體 知 識 含 量 低 高 K AS UPS CES 知 識 Agent 知 識 貢 獻(xiàn) IECRMAS知 識 生 態(tài) 系 統(tǒng) v特 征 基 于 解 釋 器 風(fēng) 格 的 系 統(tǒng) 核 心 在 于 虛 擬 機(jī) 。 一 個(gè) 基 于 解 釋 器 風(fēng) 格 的 系 統(tǒng) 通 常 包 括 : 正 在 被 解 釋 執(zhí) 行 的 偽 碼和 解 釋 引 擎 ; 偽 碼 : 由 需 要 被 解 釋 執(zhí) 行 的 源 代 碼 和 解 釋 引 擎 分 析 所 得 的 中 間代 碼 組 成 ; 解 釋 引 擎 包 括 : 語 法 解 釋 器 和 解 釋 器 當(dāng) 前 的 運(yùn) 行 狀 態(tài) v解 釋 器 風(fēng) 格 示 意 圖 如 下 圖 所 示 : v在 文 法 規(guī) 則 比 較 簡 單 的 情 況 下 , 解 釋 器 風(fēng) 格 工 作 的 很 好;v易 于 改
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2023年六年級數(shù)學(xué)下冊6整理和復(fù)習(xí)2圖形與幾何第7課時(shí)圖形的位置練習(xí)課件新人教版
- 2023年六年級數(shù)學(xué)下冊6整理和復(fù)習(xí)2圖形與幾何第1課時(shí)圖形的認(rèn)識與測量1平面圖形的認(rèn)識練習(xí)課件新人教版
- 2023年六年級數(shù)學(xué)下冊6整理和復(fù)習(xí)1數(shù)與代數(shù)第10課時(shí)比和比例2作業(yè)課件新人教版
- 2023年六年級數(shù)學(xué)下冊4比例1比例的意義和基本性質(zhì)第3課時(shí)解比例練習(xí)課件新人教版
- 2023年六年級數(shù)學(xué)下冊3圓柱與圓錐1圓柱第7課時(shí)圓柱的體積3作業(yè)課件新人教版
- 2023年六年級數(shù)學(xué)下冊3圓柱與圓錐1圓柱第1節(jié)圓柱的認(rèn)識作業(yè)課件新人教版
- 2023年六年級數(shù)學(xué)下冊2百分?jǐn)?shù)(二)第1節(jié)折扣和成數(shù)作業(yè)課件新人教版
- 2023年六年級數(shù)學(xué)下冊1負(fù)數(shù)第1課時(shí)負(fù)數(shù)的初步認(rèn)識作業(yè)課件新人教版
- 2023年六年級數(shù)學(xué)上冊期末復(fù)習(xí)考前模擬期末模擬訓(xùn)練二作業(yè)課件蘇教版
- 2023年六年級數(shù)學(xué)上冊期末豐收園作業(yè)課件蘇教版
- 2023年六年級數(shù)學(xué)上冊易錯(cuò)清單十二課件新人教版
- 標(biāo)準(zhǔn)工時(shí)講義
- 2021年一年級語文上冊第六單元知識要點(diǎn)習(xí)題課件新人教版
- 2022春一年級語文下冊課文5識字測評習(xí)題課件新人教版
- 2023年六年級數(shù)學(xué)下冊6整理和復(fù)習(xí)4數(shù)學(xué)思考第1課時(shí)數(shù)學(xué)思考1練習(xí)課件新人教版