首页 UML中设计模式应用及复合的表示

UML中设计模式应用及复合的表示

举报
开通vip

UML中设计模式应用及复合的表示UML中设计模式应用及复合的表示 2012-07-19############2012-07-19#####2#0#1#2-07-19######## UML中设计模式应用及复合的表示 1 2 刘伟成,孙吉红 ()1 . 武汉科技大学管理学院 ,湖北 武汉 ,430081 ;2 . 武汉大学信息管理学院 ,湖北 武汉 ,430072 摘要 :设计模式是对专家设计者的经验提炼和记录 。设计模式复合则能在更高水平上重用单个的设计模式和 对象 。设计模式及其复合的建模和表达通常基于使用图形符号的面向对象建模技术 。...

UML中设计模式应用及复合的表示
UML中设计模式应用及复合的表示 2012-07-19############2012-07-19#####2#0#1#2-07-19######## UML中设计模式应用及复合的表示 1 2 刘伟成,孙吉红 ()1 . 武汉科技大学管理学院 ,湖北 武汉 ,430081 ;2 . 武汉大学信息管理学院 ,湖北 武汉 ,430072 摘要 :设计模式是对专家设计者的经验提炼和记录 。设计模式复合则能在更高水平上重用单个的设计模式和 对象 。设计模式及其复合的建模和表达通常基于使用图形符号的面向对象建模技术 。设计了一些新符号 ,通 过扩展 U ML 来清楚地显现设计模式 。案例分析表明 ,这些符号有助于清楚地阐明设计模式 ,也有助于实现 设计模式目标 。 关键词 :设计模式 ; U ML ;表示 ;复合 () 文章编号 :167223090 20070320311204 中图分类号 : T P311 文献标志码 : A 设计模式是在原来面向对象的代码级重用的 基础上 ,从更高层次上抽象出来的方法级重用 ,即 [ 1 ] 用相同的方法去解决相似的问题。设计模式为 特定上下文中反复出现的问题提供了很好的解决 方法 ,并系统地命名 、解释和评价了重要连续的设 计 。设计模式复合则能在更高水平上重用单个的 [ 2,6 ] 设计模式和对象。为了在使用模式或模式同 其他模式复合后仍能保留有关该模式的信息 ,笔 者对 U ML 进行扩展 ,提出了一些新符号 。 模式复合分类及其应用 1 采用超链接用户可以聚合 We b 网页形成大 的网页 ,反过来 ,这些大网页能被聚合形成更大的 网页 。每个网页都可包含文本 、图片 、超链接等信 息形式 。图 1 描绘了复合模式的分类图及其在 We b 应用中的情况 。虽然通常不把模式与其 应 用同时并排显示出来 ,但我们这样做是因为通过 图 1 模式复合及其应用 模式的应用程序同其他涉及模式的应用程序组合 图 1 中上节模式的任务可以更容易识别出复合模 到一起时 ,这种优点就更体现不出来 。图 2 给出 式中的各个模式 。例如 ,如果将两个类图并排放 了一个系统的设计 ,其中涉及到 5 个设计模式 :策 置 ,可以很明 显地 识 别出 哪个 类 担任 了 Co mpo2 [ 7 ] 略 、桥接 、适配器 、It erato r 和工厂等方法。图 2 ne nt , Co mpo sit e o r L eaf 的 任 务 。在 常 规 应 用 中 ,每个模式包含了哪个类没有明显给出 。 中 ,一个设计模式可能有多个不附有原型模式的 解决设计模式复合问题的方法也能解决它们 同构情况 。因此在复杂设计中 ,设计模式常被删 的应用问题 ,因此我们把重点放到设计模式复合 掉而要求用逆工程方法和工具发现它们 。没有有 问题的解决方法上 。在接下来的讨论中 ,采用了 关模式的信息 ,设计者很难在完成设计后传递决 Co mpo sit e 模式和 Deco rato r 模式的复合来阐明 策和权衡信息 。这样 ,由于设计无法跟踪原型设 计模式 ,使用设计模式的优点便大打折扣 。当设计 我们表示模式复合的符号 。 2012-07-19############2012-07-19#####2#0#1#2-07-19########2 2 符号对前两种符号进行改进 ,能显性地表示模式 参与者 ,但同时也出现了另外的问题 :虚线表达似 乎混乱 ,模式信息和类结构混合在一起难以辨别 。 此外 ,在设计模式中不仅类起一定作用 ,而且操作 () 或属性也起了一些作用 。 2 . 4 Pat t er n : Role 注释 为了通过去掉混乱的虚线来改进图表表示 , Ga mma 定 义 了 一 个 图 形 符 号 , 称 为“p at t e r n2 [ 7 ] role”注释,其思想就是用装有与给定类相关的 模式和/ 或参与者名的阴影长方形来标记这个类 。 如果没出现任何歧义 ,为简单起见 ,仅显示参与者 图 2 系统设计类别 名 。与以前的符号相比 ,这种符号更易于升级 、易 [ 7 ] 读 、信息量大 。但同第一种符号相同的是 ,也出 2 单个设计模式方法及其缺陷 现了关于阴影的问题 。灰度背景不能正确地传真 2 . 1 文氏图表型模式注释 和扫描 。此外 ,对于低分辨率的打印机 ,由于灰度 最早出现识别一个设计图表中的模式符号基 背景易使阴影长方形中的字模糊不清 ,因此打印 [ 8 ] 于文氏 图。Co mpo sit e 模 式 和 Deco rato r 模 式 效果不好 。 是其中的两种主要设计模式 。Co mpo sit e 模式中 有 Co mpo ne nt ,Co mpo sit e 和 Co nt e nt 等类参与 , 扩展 U ML 3 而 Deco rato r 模 式 则 包 含 了 Co mpo ne nt , Co n2 虽然文氏图表型符号和点线边界符号可以显 t e nt , Co nt e xt , Co ncret e2Co nt e xt A 和 Co ncret e2 示一个设计图表中一个模式有哪些类 ,但这些符 Co nt e xt B 等 类 。如 果每 个 类 都 包 括 少 量 模 式 , 号不能显性地描述每个类在模式中所起的作用 。 符号就起到了优良的作用 。当一个类参与越来越 由于许多模式基于多态 、授权和聚合 ,因此在一个 多的模式 ,该类所在的重叠区域可能变得不易辨 模式中显性地给出操作和属性的作用十分重要 。 别 ,尤其是当需要选择不同的灰度等级表示不同 关键操作和属性是显性表示法 ,不仅由于一个模 模式时 ,这种情况更加明显 。 式对操作和属性关系加以一些约束而在该模式的 除了可量测性问题之外 ,图表中的阴影也有 应用中有帮助作用 ,而且由于一个模式允许从一 问题 ,因为阴影既不能用各种打印机在纸上很好 个复杂设计图表跟踪到设计模式而有助于表达该 地打印 ,也不能用传真和扫描很好地复制 。打印 模式的可跟踪性 。为了显性地描述复合模式中的 不同的灰度等级时 ,打印机的质量不同可能会打 ( ) 一个模式 , 提出新的图解符号 U ML 的 扩展来 印出截然不同的效果 。该符号还有一个不足 ,那 直观描述 一 个模 式聚 合 中的 每个 单 一模 式 。这 ( ) 就是每个建模元素 如一个类起 到 的作 用不 明 样 ,每个单一模式在设计文件管理中是显性的 ,便 显 。不仅需要识别出设计图表中的每个模式 ,而 于识别这些扩展 ,并克服了先前符号的不足 。 且还要表明每个建模元素的特定作用 。 为了显性地表示一个模式中每个类 、操作和 2 . 2 点线边界模式注释 属性的作用 ,对 U ML 扩展得到一种新符号 。该 为了防止出现阴影问题 ,给出以前符号的变 扩展主要是通过运用 U ML 嵌入展开性机制来进 体 ———用虚线简单替换阴影 ,这就解决了阴影带 行定义的 ,它是形成新 U ML 模板的基础 ,尤其对 来的问题 。但仍然难以精确地识别一个建模元素 描述模式及它们的实例和参与者更有用 。U ML () 如一个类 、一个方法或一个属性所起的作用 。 提供了 3 个语言扩展机制 ———构造型 、标记值和 2 . 3 U ML 协作符号 约束 。标记值用于对具有某类信息的建模元素的 为了解决显性识别一个类的参与作用所存在 (特性进行扩展 ,一个标记值基本上是由一个名 标 的问题 , U ML 中提供了一个可替代符号 ,称为参 ) 记符和 一 个 相 应 值 构 成 的 , 记 为“{ t a g = val2 数化的协作图表 。该符号可以通过描绘一个类图 ue}”, 标记符和值通常只能是字符串 , 值可能有 表中的模式及其参与者来描述设计模式结构 。内 专门解释 ,可以是数字或布尔值 。当为布尔值时 , 部有模式名的虚线椭圆表示模式 ,标有参与者名 U ML 允许将“{t a g = T RU E}”简写为“{t a g}”。 的虚线用来将模式和参与的类联系到一起 ,这种 将新符号称为“标记模式注解”,就是说对于 每个类 ,产生新标记值用于保留与给定类有关的 U ML 的扩展 。该案例研究考虑一个多用途的 对 模式和/ 或实例和/ 或参与者名 。每个标记符的形 系统方法 ,该方法从标准输入中分类文本边界线 , 式为“p at t e r n [ i n st a nce ] : role”。例如 ,如果一个 并将结果写成标准输出 。每个边界线都是一个由 类标记 为“Co mpo sit e [ 1 ] : Co mpo ne nt ”, 该 类 就 一个新边界线终止的特征序列 。仅限于在主存中 起了“Co mpo ne nt = i n t he fi r st i n st a nce of t he 分类文件 。不同的分类算法可在系统运行时选择 Co mpo sit e p at t e r n”的作用 。如果没有引起任 何 或在系统运行前设定 , 如快速分类和插入分类 。 歧义 ,为简化起见 ,仅显示参与者名 。图 3 是基于 结果将按照用户指定的顺序打印 。这种应用的设 新符号的图表 ,其中 ,Co mpo ne nt 和 Co nt e nt 类是 计包括策略 、桥接 、It e rato r 、适配器 、工厂方法等 5 个设计模式 ,如图 2 所示 。 为了提出允许使用交互分类算法 ,使用策略 模式以封装像快速分类 、插入分类 、选择分类等不 同的分类算法 ,在这种情况下 ,我们只处理基于比 较的算法就行了 。因此 ,所有算法都必须有一个 比较成对元素的函数 , 这些元素可能为特性 、数 ( )字 、文件夹等 。桥接模式通过将抽象概念 比较 () 从其执行中 特性比较和数字比较分离出来而得 以保存 ,因而它们能独自变化 。工厂方法模式定 ( 义了一个产生对象的界面 ,但由子类 Creat eCha r ) 和 Creat eN um来决定哪个类作为例证 。It e rato r 模式用于打印所有分类得到的元素而不需要显示 图 3 标记模式注释 其基本表示法 。例如 ,假设有一个函数库作为插 Deco rato r 模式和 Co mpo sit e 模式复合的重叠部 入类 ,在该设计中可以重用一些要求的函数 。由 分 。标记值显示了这两个类在每个模式中所起的 于插 入 类 方 法 的 界 面 可 能 同 Al go rit h m 类 中 作用 。此外 ,操作和属性附有显示它们在每个模 so r t st rat e gy 方法的界面不一致 ,因此可以使用适 式中所起作用的标记值 。新符号的局限性在于有 配器模式以适应该界面 。 关模式的信息不像明暗法的“p at t e r n : role”符号 [ 6 ] 图 5 为标记模式符号 系统分类的设计 。图 那样明显 。对于少数模式 ,通过用虚线圆标明每 ( ) 5 给出的附加信息可以识别每个类 方法或属性个模式的界限 ,新符号可以同点线边界符号合并 在设计中所起到的不同作用 。这样就可以跟踪设 () 到一起 ,这样可以显性描述出模式边界 见图 4。 计使模式信息不至于像图 2 那样被丢失 。例如 , Al go rit h m 类在 3 个 模 式中 起到 了 3 个 作用 : 策 略模式中的 1 个 st rat egy ,桥接模式中的 1 个 A b2 st ractio n ,适配器模式中的 1 个 Ta r get ; so r t st rat2 e gy 方法在 2 个模式中起到了两个作用 : 策略模 式中 的 Al go rit h mi nt erf ace 和 适 配 器 模 式 中 的 Reque st 。 5 结语 本文设计了一些新符号 , 通过扩展 U ML 来 清楚地显现设计模式 。由于设计模式就是为了重 用设计技能/ 经验 、改善软件开发组内和组间的通 讯交流 、清楚捕获设计者的设计决策 、记录不同应 用程序的设计权衡和设计抉择 ,因此 ,对设计者来 说 ,清楚地描述设计图表中的模式很重要 。通过 图 4 用点线边界的标记模式注释 案例分析证明 ,本文中给出的符号既有助于清楚 4 案例研究 地阐明设计模式 ,也有助于实现设计模式目标 。 关于标记模式符号的系统设计 图 5 sign pat ter ns[ C ] ?Proceedings of Europea n Co nf er2参 考 文 献 ence o n Object2o rient ed Pro gra mming , Sp ringer2 Verlag ,1998 :1142134 . 吴静 . J ava 中应 用设计模式 —St rategy 模式 [ J ] . 华 [ 1 ] () 南金融电脑 ,2005 5:75277 . M Fo nto ura , W Pree ,B Rump e. U ML2F : a mo deling [ 6 ] ( language fo r o bject2o riented f ra mewo r ks [ C ] ?Pro2 J Vli sside s. Co mpo sit e design pat ter n t hey a ren’t [ 2 ] ) () w hat yo u t hink[J ] . C + + Repo rt ,1998 6:45253 . ceedings of t he 14t h Europ ean Co nf erence o n O b2 ( ) J Do ng , P Alencar ,D Co wa n. Ensuring st r uct ure and ject2o riented Pro gramming ECOO P . Sp ringer , [ 3 ] behavio r co r rect ness in design co mpo sitio n [ C ] ? L NCS ,2000 :63282 . Proceedings of t he 7t h A nnual IE E E Inter natio nal E Ga mma , R Hel m , R J o hnso n , et al . Design pat2 [ 7 ] Co nf erence o n Engineering of Co mp uter Ba sed Sys2 t er ns , element s of reusable o bject2o rient ed sof t wa re tems. Edinbur gh U K ,2000 :2792287 . [ M ] . A ddi so n2Wesley Publi shing Co mp any ,1995 . J Vli sside s. No tatio n , no tatio n , no tatio n [ J ] . C + + Gil J , Ho w se J , Kent S. Co nst raint diagra ms : a st ep [ 8 ] [ 4 ] beyo nd U ML [ C ] ?Proc . TOOL S U SA 1999 , IE E E () Repo rt ,1998 4:48251 . Co mp uter Societ y Pre ss ,1999 :4532463 . A L a uder , S Kent . Preci se vi sual sp ecificatio n of de2 [ 5 ] Represent ing a ppl icat ions an d composit ions of design patterns in UML 1 2L i u W ei c he n g , S u n J i hon g (1 . College of Ma nagement , Wuha n U niver sit y of Science a nd Technolo gy , Wuha n 430081 , China ; )2 . School of Info r matio n Ma nagement , Wuha n U niver sit y , Wuhan 430072 , China Abstract :De si gn p at t e r n s cap t ure t he di stille d e xp e rie nce of e xp er t de signe r s. The co mpo sitio n of de2 si gn p at t er n s e na ble s a highe r level of re u se of i ndivi dual de sign p at t er n s a nd o bject s. The mo deli ng a nd rep re se nt atio n of de si gn p at t er n s a nd t hei r co mpo sitio n s a re u suall y ba sed o n o bject2o rie nt e d mo d2 ( ) eli ng t ech nique s t hat u se grap hical no t atio n s suc h a s t he U nifie d Mo deli ng L a ngua ge U ML . Thi s p ap e r i nt ro duce s so me new no t atio n s t hat e xt e nd U ML to e xp licit vi sualizatio n of de si gn p at t e r n s. Ca se st udy sho w s t hat t he se no t atio n s help bo t h t he e xp licit rep re se nt atio n of de sign p at t er n s a nd at2 t ai n me nt of t he goal s of de si gn p at t er n s. Key words : de si gn p at t e r n ; U ML ; rep re se nt atio n ; co mpo sitio n [ 责任编辑徐前进 ] Your requestcould not be processed becauseof a configurationerror: "Could not connect to LDAPserver." For assistance,contact your network support team. file:///C|/Users/Administrator/Desktop/新建文本文档.txt 涵盖各行业最丰富完备的资料文献,最前瞻权威的行业动态,是专业人士的不二选择。 file:///C|/Users/Administrator/Desktop/新建文本文档.txt2012/8/26 12:19:58
本文档为【UML中设计模式应用及复合的表示】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_668482
暂无简介~
格式:doc
大小:95KB
软件:Word
页数:0
分类:生活休闲
上传时间:2017-10-16
浏览量:22