电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本
换一换
首页 金锄头文库 > 资源分类 > PDF文档下载
分享到微信 分享到微博 分享到QQ空间

用AOP对设计模式进行改进

  • 资源ID:595133       资源大小:612.26KB        全文页数:139页
  • 资源格式: PDF        下载积分:20金贝
快捷下载 游客一键下载
账号登录下载
微信登录下载
三方登录下载: 微信开放平台登录   支付宝登录   QQ登录  
二维码
微信扫一扫登录
下载资源需要20金贝
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载,本站只是中间服务平台,本站所有文档下载所得的收益全部归上传人(卖家)所有,作为网络服务商,若您的权利被侵害请及时联系右侧客服;
2、如你看到网页展示的文档有jinchutou.com水印,是因预览和防盗链等技术需要对部份页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有jinchutou.com水印标识,下载后原文更清晰;
3、所有的PPT和DOC文档都被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;下载前须认真查看,确认无误后再购买;
4、文档大部份都是可以预览的,金锄头文库作为内容存储提供商,无法对各卖家所售文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
5、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据;
6、如果您还有什么不清楚的或需要我们协助,可以点击右侧栏的客服。
下载须知 | 常见问题汇总

用AOP对设计模式进行改进

用 AspectJ增 强 设 计 模 式 上设 计 模 式 长 期 以 来 一 直 是 一 些 经 验 丰 富 的 开 发 人 员 的 工 具 箱 的 重 要组 成 部 分 。 不 幸 的 是 , 因 为 模 式 可 以 影 响 多 个 类 , 所 以 它 们 也 是 侵 入性 的 、 难 于 使 用 ( 和 重 用 ) 。 本 文 是 AOPWork 系 列 的 第 3 部 分 ,是 一 篇 由 两 部 分 组 成 的 文 章 , 在 这 篇 文 章 中 , NicholasLesiecki 将介 绍 AOP 是 怎 样 通 过 根 本 转 变 模 式 实 现 来 解 决 这 一 问 题 的 。 他 研 究了 三 个 经 典 的 Gof 设 计 模 式 ( 适 配 器 模 式 、 修 饰 器 模 式 和 观 察 者 模式 ) , 同 时 还 将 讨 论 使 用 面 向 方 面 技 术 实 现 这 些 模 式 所 带 来 的 实 践 和设 计 方 面 的 好 处 。什 么 是 设 计 模 式 ? 根 据 Design Patterns: Elements ofReusable Object-Oriented Software:设 计 模 式 系 统 地 命 名 、 促 进 和 解 释 了 解 决 面 向 对 象 系 统 中 重复 出 现 的 设 计 问 题 的 一 个 通 用 设 计 。 它 描 述 了 问 题 、 解 决 方 案 、 何 时应 用 该 解 决 方 案 以 及 所 产 生 的 结 果 。 它 还 提 供 了 一 些 实 现 提 示 和 示例 。 解 决 方 案 是 解 决 问 题 的 对 象 和 类 的 总 体 安 排 。 可 以 定 制 并 实 现 解决 方 案 , 解 决 具 体 上 下 文 环 境 中 的 问 题 。在 多 年 成 功 地 应 用 模 式 解 决 OO 系 统 中 的 问 题 之 后 , 我 发 现自 己 也 认 同 了 这 个 定 义 。 模 式 是 与 普 通 程 序 员 谈 论 设 计 的 最 好 方 式 ,它 们 代 表 解 决 “ 重 复 出 现 的 设 计 问 题 ” 的 最 佳 实 践 。 所 以 , 当 我 参 加了 StuartHalloway 的 一 次 访 谈 时 , 我 感 到 有 点 震 惊 : 他 为 GoF 提供 了 另 一 个 头 衔 : “ 处 理 C+ 中 破 损 事 物 的 修 理 厂 ” 。 他 的 观 点 是 :在 一 种 语 言 中 以 “ 模 式 ” 方 式 存 在 的 东 西 , 在 不 同 的 范 式 下 , 可 以 融入 语 言 本 身 。 接 着 他 给 出 了 Factories 的 示 例 该 示 例 在 Java语 言 中 有 用 , 但 在 Objective-C 中 却 没 多 大 用 , 后 者 支 持 从 构 造 函数 中 返 回 子 类 型 。我 思 考 了 很 长 一 段 时 间 , 然 后 我 认 识 到 两 个 方 面 实 际 上 说 的是 同 一 件 事 之 前 : 设 计 模 式 提 供 了 表 达 那 些 无 法 直 接 在 编 程 语 言 中 表达 的 概 念 的 词 汇 表 。那 么 , AOP 位 居 何 处 呢 ? 对 于 OOP, 我 们 有 GoF 模 式 , 它 提供 了 处 理 公 共 的 概 念 ( 像 观 察 者 和 修 饰 器 ) 的 统 一 方 法 ( 尽 管 有 时 有点 麻 烦 ) 。 AOP 构 建 在 OOP 之 上 , 提 供 了 表 达 横 切 关 注 点 的 直 接 方式 。 它 认 为 某 些 GoF 模 式 是 关 于 横 切 的 , 可 以 直 接 用 AOP 表 示 。 所以 您 会 注 意 到 , 对 于 一 些 包 含 许 多 类 的 模 式 , 用 一 个 方 面 就 可 以 表 达 。有 些 模 式 变 得 更 易 使 用 , 因 为 它 们 可 以 包 含 更 少 代 码 。 有 些 模 式 得 到了 非 常 好 的 支 持 , 以 致 于 它 们 几 乎 消 失 不 见 。 其 他 模 式 严 格 绑 定 到OOP ( 例 如 处 理 类 结 构 的 模 式 ) , 所 以 它 们 在 与 AOP 结 合 使 用 的 时候 保 持 不 动 。本 文 的 目 的 是 探 索 用 AOP ( 特 别 是 用 AspectJ) 进 行 的 模 式实 现 。 我 选 择 GoF 模 式 , 是 因 为 它 是 一 个 非 常 流 行 和 通 用 的 工 具 。在 本 文 的 第 1 部 分 中 , 我 要 设 置 一 些 分 析 模 式 影 响 的 指 标 , 然 后 研究 适 配 器 和 修 饰 器 模 式 。 适 配 器 会 演 示 静 态 交 叉 的 优 势 , 而 修 饰 器 则会 暴 露 它 自 身 是 一 个 正 在 消 失 的 模 式 。 在 第 2 部 分 中 , 我 将 提 供 对观 察 者 模 式 更 加 深 入 的 研 究 , 这 种 模 式 并 没 有 消 失 , 但 您 会 看 到 在 用AspectJ 实 现 它 时 的 一 些 主 要 好 处 。 第 2 部 分 将 显 示 AspectJ 如 何使 模 式 转 变 成 可 重 用 的 基 本 方 面 , 从 而 允 许 您 下 载 预 先 构 建 好 的 模 式库 这 是 让 模 式 爱 好 者 们 兴 奋 的 一 大 优 势 。为 什 么 把 AOP 应 用 到 设 计 模 式 ?我 前 面 说 过 , 许 多 模 式 都 是 横 切 的 , 当 然 我 不 是 第 一 个 想 到这 一 点 的 人 。 最 近 有 一 篇 研 究 论 文 对 GoF 模 式 进 行 了 分 析 , 分 析 发现 : 在 23 个 模 式 中 , 有 17 个 模 式 表 现 出 某 种 程 度 的 横 切 。 ( 这 篇论 文 是 Jan Hannemann 和 Gregor Kiczales 合 著 的 “ Java AspectJ中 的 设 计 模 式 实 现 ” , 请 参 阅 参 考 资 料 一 节 , 以 获 取 更 多 细 节 。 )如 果 AOP 承 诺 可 以 协 助 解 决 横 切 , 那 么 在 设 计 模 式 上 使 用 AOP 有 什么 好 处 呢 ? 我 先 从 用 通 用 术 语 回 答 这 个 问 题 开 始 , 然 后 设 置 一 个 框架 , 通 过 它 来 考 察 每 个 设 计 模 式 。在 设 计 模 式 上 使 用 AOP 的 好 处AOP 第 一 个 关 键 的 好 处 是 把 指 定 设 计 模 式 的 代 码 本 地 化 的能 力 。 这 意 味 着 通 常 只 在 一 个 方 面 或 一 对 密 切 关 联 的 方 面 上 就 可 以 实现 模 式 。 ( 这 与 Java 语 言 实 现 形 成 对 比 , 在 Java 语 言 实 现 中 , 模式 应 用 程 序 可 以 分 布 在 多 个 类 中 。 ) 能 够 在 一 个 地 方 看 到 所 有 代 码 会带 来 几 个 实 际 的 好 处 。 首 先 , 如 果 模 式 的 所 有 交 互 都 能 在 一 个 地 方 看到 的 话 , 那 么 阅 读 代 码 的 人 就 能 更 容 易 地 理 解 模 式 。 其 次 , 如 果 开 发人 员 需 要 改 变 模 式 的 实 现 , 那 么 他 或 她 就 能 在 一 个 地 方 修 改 模 式 , 而不 用 在 整 个 系 统 中 追 踪 模 式 的 片 断 。 最 后 , 开 发 人 员 可 以 用 有 意 义 的名 称 描 述 封 装 模 式 的 方 面 , 为 以 后 的 维 护 人 员 提 供 有 关 模 式 意 图 的 文字 线 索 。 例 如 , 可 以 把 方 面 命 名 为 SensorAdapter, 这 表 明 在 传 感 器上 使 用 的 是 适 配 器 模 式 。AspectJ 模 式 实 现 的 另 一 个 关 键 好 处 就 是 遗 忘 性( obliviousness) 。 换 句 话 说 , 在 模 式 中 发 挥 作 用 的 类 不 必 知 道 这个 角 色 。 这 个 好 处 直 接 来 自 本 地 化 因 为 模 式 是 在 某 一 个 方 面 实现 本 地 化 的 , 所 以 不 需 要 冒 犯 其 参 与 者 。 遗 忘 性 让 模 式 参 与 者 更 容 易理 解 代 码 。 不 仅 如 此 , 遗 忘 性 还 让 模 式 更 容 易 组 合 。 在 Java 语 言 实现 中 , 如 果 类 参 与 到 多 个 模 式 中 , 模 式 的 机 制 会 迅 速 模 糊 它 的 核 心 含义 。 如 果 类 不 知 道 那 些 在 模 式 中 的 参 与 者 , 那 么 可 以 在 其 他 上 下 文 中重 用 这 些 类 。 在 本 文 的 第 2 部 分 中 将 看 到 这 方 面 的 一 个 具 体 示 例 。这 些 好 处 允 许 对 某 些 模 式 实 现 代 码 级 重 用 。 设 计 模 式 的 概 念和 结 构 一 直 都 是 可 重 用 的 。 如 果 想 实 现 观 察 者 模 式 , 任 何 人 都 可 以 找出 GoF 的 书 籍 , 把 模 式 应 用 到 自 己 的 代 码 中 。 但 是 , 如 果 使 用 面 向方 面 技 术 , 那 么 通 过 下 载 ObserverProtocol 方 面 ( 可 以 在 设 计 模式 计 划 中 获 得 它 , 请 参 阅 参 考 资 料 一 节 ) , 就 可 以 避 免 这 个 麻 烦 。除 了 节 省 的 实 现 工 作 之 外 , 代 码 级 重 用 还 允 许 模 式 代 码 和 文 档 进 行 更紧 密 的 耦 合 。 例 如 , 我 可 以 浏 览 ObserverProtocol 的 javadoc, 不用 另 找 一 本 书 就 可 以 理 解 它 的 意 图 和 结 构 。分 析 框 架每 个 模 式 的 描 述 都 跟 着 一 个 公 共 结 构 。 我 将 从 一 个 示 例 问 题开 始 介 绍 , 提 供 对 这 个 模 式 的 通 用 描 述 。 然 后 我 会 描 述 如 何 实 现 这 个模 式 , 先 使 用 Java 语 言 实 现 它 , 然 后 使 用 AspectJ 语 言 实 现 它 。在 每 个 实 现 后 面 , 我 都 会 描 述 是 什 么 造 成 了 模 式 的 横 切 , 以 及 这 个 版本 的 模 式 在 理 解 、 维 护 、 重 用 和 编 排 代 码 的 时 候 有 什 么 效 果 。适 配 器 模 式我 要 详 细 考 虑 的 第 一 个 模 式 就 是 适 配 器 模 式 。 适 配 器 模 式 完全 是 关 于 兼 容 性 的 。 这 个 模 式 允 许 类 与 其 他 原 来 由 于 接 口 不 兼 容 而 无法 交 互 的 类 进 行 交 互 。 要 在 Java 代 码 中 实 现 适 配 器 , 需 要 用 特 殊 的适 配 器 类 包 装 目 标 类 , 适 配 器 类 能 把 目 标 类 的 API 转 换 成 客 户 想 要的 API, 或 者 转 换 成 能 够 更 容 易 利 用 的 API。设 置 : 提 供 一 个 聚 合 的 传 感 器 读 取 器假 设 现 在 要 设 计 一 个 航 天 器 , 则 需 要 提 供 一 个 读 取 器 , 读 取航 天 器 上 所 有 关 键 传 感 器 。 由 于 是 在 扩 展 现 有 系

注意事项

本文(用AOP对设计模式进行改进)为本站会员(龙***)主动上传,金锄头文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即阅读金锄头文库的“版权提示”【网址:https://www.jinchutou.com/h-59.html】,按提示上传提交保证函及证明材料,经审查核实后我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.