- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第九章 软件复用之模式和框架
第九章 软件复用之模式和框架 提纲 9.1 软件复用 9.2 模式复用 9.3 设计模式 9.4 框架 9.5 模式和框架的关系 9.1 软件复用 复用(Reuse)—在一个新的语境(context)中(同一系统的其它地方或另一个系统中)使用已有的软件构件。 可复用性(Reusability) —软件构件可以被复用的程度或范围(extent)。遵循一个适当的设计和编码标准将增强构件的可复用性。 可复用软件构件(RSC) —可以被复用的软件实体;它可以是设计、代码或软件开发过程的其它产品。RSCs有时称为“软件资产”(software assets)。 9.1 软件复用 实践证明:软件复用可以有效地提高软件的质量和生产率,是解决 “软件危机”的一条比较现实可行的途径。 提高生产率。软件复用最明显的好处在于提高生产率,从而减少开发代价。生产率的提高不仅体现在代码开发阶段,在分析、设计及测试阶段同样可以利用复用来节省开销。用可复用的构件构造系统还可以提高系统的性能和可靠性,因为可复用构件经过了高度优化,并且在实践中经受过检验。 9.1 软件复用 减少维护代价。这是软件复用另一个重要的优越性。由于使用经过检验的构件,减少了可能的错误,同时软件中需要维护的部分也减少了。例如,要对多个具有公共图形用户界面的系统进行维护时,对界面的修改只需要一次,而不是在每个系统中分别进行修改。 提高互操作性。软件复用一个更为专业化的好处在于提高了系统间的互操作性。通过使用接口的同一个实现,系统将更为有效地实现与其它系统之间的互操作。例如,若多个通讯系统都采用同一个软件包来实现X.25协议,那么它们之间的交互将更为方便。 9.1 软件复用 支持快速原型。复用的另一个好处在于对快速原型的支持,即可以快速构造出系统可操作的模型,以获得用户对系统功能的反馈。利用可复用构件库可以快速有效地构造出应用程序的原型。 减少培训开销。复用的最后一个好处在于减少培训开销,即雇员在熟悉新任务时所需的非正式的开销。如同硬件工程师使用相同的集成电路块设计不同类型的系统,软件工程师也将使用一个可复用构件库,其中的构件都是他们所熟悉和精通的。 9.1 软件复用 软件复用的类型划分 组装式(Compositional) 复用与生成式(Generative)复用 组装式复用,也称产品复用:利用库中的底层构件自底向上地开发系统,关键是要解决构件的分类和检索技术,以及开发出一个自动化系统以支持组装过程。 生成式复用,也称过程复用:是特定于应用领域的,它采用标准的领域构架(architecture)模型(即类属的构架)和一致的构件接口,目的是根据一个适当的参数规约生成新的系统。 小规模复用与大规模复用 原样(As-is)复用与带修改的复用 9.2 模式复用 Christopher Alexander:每一个模式描述了在我们周围不断重复发生的问题,以及该问题的解决方案的核心。这样,你就能一次又一次地使用该方案而不必做重复劳动。 模式(pattern):是用来描述做某类事情所具有的一些共性特征的技术。 模式是在某种特定的场景(context)下某个不断重复出现的问题的解决方案。 模式本身并没有任何的创新性,它仅仅是对于一些已经被证明为优秀的解决方法的归类、总结,目的是为了重用该解决方案而又不用做重复的劳动。 “特定场景”给出了什么时候以及为什么使用一个模式 。 重复说明了模式的可重复性从而可以被重用。 9.2 模式复用 一般而言,一个模式有四个基本要素 : 模式名称(pattern name) 一个助记名,它用一两个词来描述模式的问题、解决方案和效果。 问题(problem) 描述了应该在何时使用模式。它解释了设计问题和问题存在的前因后果。 解决方案(solution) 描述了设计的组成成分,它们之间的相互关系及各自的职责和协作方式。 效果(consequences) 描述了模式应用的效果及使用模式应权衡的问题。 9.3 设计模式 设汁模式包含一组规则,描述了如何在软件开发领域中完成一定的任务。 面向对象的设计模式解决如何在面向对象软件开发中完成一定任务。 所谓设计模式,简单地理解,是一些设计面向对象的软件开发的经验总结。一个设计模式事实上是系统地命名、解释和评价某一个重要的可重现的面向对象的设计方案。 设计模式的组成:设计模式使用的场景和解决的问题;设计模式的基本元素及其相互关系;应用设计模式后的结果和权衡。 9.3 设计模式 常见的设计模式: Abstract Factory:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。 Adapter:将一个类的接口转换成客户希望的另外一个接口。 Bridge:将抽象部分与它的实现部分分离,使它们
文档评论(0)