设计模式及其在软件设计中的应用研究
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计 中. 其一是 因为 没有有效 的方式对设计 模式 的使用进行 指导 , 其二 设计模式 主要是针对面 向对象设计 中反复 出现 的问题提出的解 是相关软件设计 师没有 正确 的把握住软件设计模式 。 3 . 1 设计模式的步骤 决方案 设计模式是在 1 9 9 0 年由E r i c h G a m m a 等人从建筑设计领域 为 了更好的运用元 件设计模式 . 我们应 当参照下列步骤进行 : 导人到计算机科学中的概念 。 目 前关于设计模式还存在许多争议 , 但 第一是对需要解决的问题进行抽象 . 对类型进行适 当的划分 。第 是设计模式能够提供一种讨论 软件设计 的公共语言 . 从而使其他 的设
0 . 引 言
第三是规划问题以 计 师学到技术技术娴熟设计师的经验 。除此之外 , 设计模式为软件 的 二是要按照相关 问题的类型选择合适 的设计模式 。 及 匹配模式 将需要解决的问题与所选 的设计模式进行对 比 , 找出他 重构提供 了 目 标 们 的共性 。 对 于需要解决的问题 区域内需要综合考虑元素对应模式中 1 . 设 计模 式概 述 当发现选择 的设计模 式并不合适 , 应立 设计模式最早来源 于建 筑学 . 在 1 9 9 0 年由E i r c h G a m m a 等人提 的类以及模式的和各种角色 . 即返回步骤三 , 重新进行设计。第四, 将对选取 的模 式的进 行变体 , 对 出. 当时主要是用于提炼 以及记录软件 开发人员 头脑或者文档 中多 次 模式的原 始结构进行扩展或者修改 . 更好 的解决其 中存 在的问题。第 出现的共 性问题 以及经过多次验证的成功解 . 明确表达 了特定 上下 文 设计并且 的细化所需要的软件体系的结 构。第 六是对设计质量进 情形下产生的 . 具有特点 的问题以及相应 的解决方案 间的关系【 ¨ 。 设计 五 . 模式主要 是关 注了特定设计问题以及解决方案 而软件设计模式 目前 行度量。 设 计模式 自身存 在的形式化描述为 软件设计人员获 取 自动模式 主要是设 计模式 与另外 的面 向对象设计方式的关 系 . 各 自的优劣以及
适应的范围等
2 . 设计模式的分类
设计密匙 目前主要 分为行为型 、 创建型以及结构 型。 行为型模式 中又可分为下列几种模式 : M e m e n t o 备忘 录模式 ( 主要 才能够更 是指在不破坏对象 的条件下 . 捕获对象 的内部状态 . 且在该 象下保存 的。将设计模式的 自动化获取与经验模式的选取相互结合 , 这个状态) 、 I t e r a t o r 迭代 器模式 ( 主要是指提供一种方法 的顺序访问聚 好 的推动模式的发展 3 . 2设计模式的选择 合对象 的各种元素 .且不会 暴露对象的内部表示 ) 、 I n t e r p r e t e r 解释器 想要更好 的选择软件设计模式 .通常需要综合考 虑更方面 的因 模式 ( 主要 是指 给定一个 语言 . 定义 文法的表示 。 且能够定 义解释器 , 素 第一 、 需要 考虑到设计 中哪些因素是可以变化 的。 第二 、 考虑设计 解释器通 常是 用来解 释语 言中的句子) 、 O b s e r v e r 观察者模 式( 主要是 需要检查重新 的原 因是 指定 义对象 间的依 赖关系 . 当对 象的状态出现改变 时 , 所有依赖于它 模 式是如何解决设计中存在的问题 的。第三 、 第 四、 需要浏览模式的意图。 第五 、 需要研究 目相似的模式。 第 的对 象都能够得到 自动更新的通知 ) 以及 M e d i a t o r 中介 者模式 ( 通 常 什 么。 六、 对 于模式是怎样进行相互关联进行研究 。 是指使用一个 中介对象封装一系列 的对象交互 ) 等。 3 . 3设计模式的应用 创建型模式又可分为下列几种模式 : P r o t o t y p e 原型模式 ( 使用原型 选定 了软件设计模式后 . 要怎样进行使用 . 需要按照科学 的方 法 实例 对于创 建对象进行指定 ,在拷贝原型 的基础 上创建新 的对象 ) 、 首先要将设计模式进行浏览 。 其 次研究协作部分 、 结构部分以及 S i n g l e t o n 单例模式 ( 主要 是指保证一类对应 一个实例 , 并 提供访 问的 进行。 参与者部分 。 第三 , 观察代码示例部分 , 观察模 式代码形式 的案例H 。 第 全局问点 ) 、 B u i l d e r 建造模式 ( 主要是指通过将复杂对象的建构与他表示 四 . 选择的模式参与者 的名字 . 使得他们在应用 上下文 中具有 明确 的 相进 行分离 . 使同样的构建能够创建新 的对象 ) 、 A b s t r a c t F a c t o r y 抽 象 意义。 第五是需要定义类 。 第六是在定 义模式 中专用于应用的操作名 工厂 ( 主要是指提供一个创建一系列相关 以及相互依赖对象的接 口. 无 称。 更好的实现模式 中的责任与协作的操作 。 需对他 们的具体类 型进行指定 ) 以及 F a c t o r y Me t h o d 工厂方 法 ( 主要 4 。 结 语 是通 过定 义 用 于创 建 的接 口.使 子类 决 定 实例 化 的类 型 . F a c t o y r 近年来 . 面向对象领域获得的最大成就就是设计模式概念 的提 出 M e t h o d 能够使一类的实例化延迟 到子类 ) 。 由于其表 结构型模式可 分为下列几种模式 : F l y w e i g h t 享元模式 、 C o m p o s i t e 以及设计模式的发展 。设计模式的适用性逐渐得 到 了发掘 , 受 到了广泛 的重视 。 随着我国面向对象理论 的发展 , 软 组合模式 ( 主要是指将 对象结合成为树形结 构 . 以此表示部分 整体的 达清楚而简洁 . 关系 . C o m p o s i t e 能够使用户对单 个对象 以及组合对 象的使用形 成一 件设计模式将能够得 到更加完善的发展。 致性) 、 B r i d g e 桥模式 ( 主要是将抽象 的部分与它的实现部分分离 , 使他 们独立的变化) 、 F a c a d e外观模式 ( 主要是为子系统中的接 口提供一致 【 参考文献】 的界面 . F a c a d e 提供了高层的接 口. 便于子 系统使用 ) 以及 D e c r a t o r 装 [ 1 ] G V a n m e e r b e e c k , P . S c h a u m o n t , S . V e m ̄ d e , M . E n g e l s , a n d L B o l s e n s . H a r d w a r e , f t w a r e P a r t i t i o n i n g o f E m b e d d e d S y  ̄e m i n O C AP I - x 1 . P r o c . o f t h e Ni n t h I n t . 饰模式 ( 主要是指 动态的给对象增加 一些 额外的职责 . 对 于增加功能 So 来说 . D e c r a t 0 r 模式更加灵活 )
形成。 设计模式( De s i g n p a t t e r n ) ,  ̄于一种应用广泛 , 经过分类编码 以及代码设计的经验 总结形式。 运用设计模式是 为 了更好 的将代码进行重复
使 用. 使代码更容易被他人理解 。 同时还保障 了代码 的可靠性 。本文主要针 对设计模式及其在软件设计 中的应 用展 开研 究和分析。 【 关键词 】 设计模 式 ; 软件设计 ; 应用研究
2 0 1 3 年2 3 期
科技 置向导
◇ 科技论坛◇
设计模式及其在软件设计中的应用研究
侯 文’ , 2
Baidu Nhomakorabea
( 1 . 同济大学
【 摘
中国
上海
2 0 0 0 9 2 ; 2 . 中国移动通信集团宁夏有 限公 司 宁夏
¥ 1  ̄ J I I 7 5 0 0 0 2 )
要】 随着我 国信息技术的发展 , l n t e me t 的发展为我国提供 了全球 范围的信息基础设施 。 而设计模式也随着信息技 术的发展逐渐开始