第七讲 模式(Pattern)与框架(Framework)技术综述.doc

第七讲 模式(Pattern)与框架(Framework)技术综述.doc

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第七讲 模式(Pattern)与框架(Framework)技术综述 软件复用从最初的子系统调用开始,经历了结构化方法和面向对象的技术的几次重大的发展,逐步形成通过建立类库、构件库、框架库和模式库等多种方法、多层次进行软件复用来提高软件的设计、实现手段,力图使软件的生产“工厂化”,不断提高软件的生产力以达到降低生产成本、提高软件品质和软件的“柔性”,满足不断发展和变化的应用需求的需要。本讲主要介绍针对设计结果复用的主要方法——模式设计,重点介绍了“四人帮”[gof]的23中设计模式,以及在此基础上基于J2EE规范的系统设计的设计模式设计方法,最后介绍了类库、构件库、框架库和模式库等复用技术的关系。 1.引言 软件复用技术是当今软件工程讨论的热点话题,也是软件产业界最为关注的焦点技术,软件复用涉及到软件生产活动中的任何环节,不仅影响着软件本身的质量和成本,也改变了软件产业的价值链和产业结构,由于构件技术的发展和成熟,涌现出大批的“商用现成品”(COST,Commercial off-the-shelf )供应商,它们为软件供应商提供用于组装完整系统的软件构件,这样的系统可以是应用系统,也可能是基础软件。设计模式技术的发展和应用,软件开发先行者的经验得以方便复用,使软件开发过程变为“工艺化流程”,出现了专门从事离岸开发(offshore developing)的“软件工厂/车间”。软件框架技术的出现和应用使专门从事提供软件应用框架或基础结构成为可能,它们为软件开发商或系统集成商提供针对转向领域应用提供半成品软件,在此基础上针对最终用户的具体需求进行客户化再开发。设计模式技术还使软件生产过程中的设计者和实现者的交流和沟通变得方便、一致,进一步促进了信息管理咨询业的空前发展。 如果说最初的子程序的复用以及后来的类库的复用是针对代码级的复用,构件库的复用则不仅在代码级,还可以在二进制码级和功能级的复用,系统设计者复用构件时不需要了解构件的结构和编码,只需知道其功能和组装接口。设计模式库和应用框架库的复用则是针对软件软分析、设计和实现的各个环节成果复用,并使这些环节的工作平滑过渡、一致,使软件开发过程中的所有活动都可以进行不同层次、不同粒度地复用软件半成品或先验经验。在软件开发过程中利用模式能够在较短时间内复用以往的软开发成功经验,它不仅教会软件工程师一门技术,同时能够帮助他们更好的沟通,人他们能够理解做事的动机和缘由。使用模式的好处主要表现在以下三方面: 权衡已经被证实的解决方案 模式是实践的总结,它提供的解决方案是经过在不同时间、不同项目中反复解决了相似的问题后才最终确定的,因此,模式提供了强大的可重用机制,避免开发者和设计者的重复投资; 为交流提供一个一个共同的词汇表 模式不仅为软件设计者提供一个共同交流的共同的词汇,同时,提供了一种与开发者进行交流的方式。软件设计者和开发者不但可以通过学习和理解模式来创造自己的词汇,随着新词汇的记载而增加设计词汇。 约束解决方案的范围 使用模式可以将解决方案约束或限定在一定的范围内,这个范围正好是设计和实现可以实现的范围内。模式要求开发者确定实现的边界,超出这个边界就破坏了模式与设计的一致性,就可能导致错误。 设计模式使人们可以更加简单方便地复用成功的设计和体系架构,将已证实是有效的技术实现方式表述为设计模式会使新系统开发者更加容易理解其设计思路,帮助系统设计工程师做出有利于系统复用的选择,避免设计损害了系统复用,近而更好地完成系统设计。 一般来讲,一个模式要有四个基本要素: 模式名称(pattern name)它用一两个词来描述模式的问题、解决方案和效果。命名一个新模式增加了我们的设计词汇。基于一个模式词汇表,软件工程师及其同事之间就可以讨论模式并在文档编写时利用它们。模式名可以帮助设计者思考,设计者之间交流设计思想及设计结果。 模式问题(pattern problem)描述应该在何时使用模式。它解释了设计问题和问题存在的前因后果,可能描述特定的设计问题,也可能描述了导致不灵活设计的类或对象结构。 解决方案(solution) 描述设计的组成成分,他们之间的相互关系及各自的职责和协作方式。它并不描述一个特定而具体的设计或实现,而是提供抽象问题的描述和怎样用一个具有一般意义的元素(类或对象)组合来解决这过问题。 效果(consequences) 描述了模式应用的效果及使用模式应权衡的问题。模式效果包括他对系统的灵活性、扩充性、可以执行的影响,显示地列出这些效果对理解和评价模式很有帮助。 2.设计模式的编目 模式提供了一种有效的软件复用方式,正如不同的设计工程师在设计时复用软件的层次不一样,人们出发点不同会产生对什么是模式和什么不是模式的理解不同,一个人的设计模式对另一个人可能只是基本构造部件,

文档评论(0)

3344483cc + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档