软件设计与体系结构 秦航的 9.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件设计与体系结构 秦航的 9

清华大学出版社 第9章 设计模式 内容提要 9.1什么是设计模式 9.2软件体系结构描述语言 9.2.1WRIGHT ADL 9.2.2图形化体系结构描述语言 9.3设计模式的主要作用 9.4常用设计模式解析 9.4.1创建型设计模式 9.4.2结构型设计模式 9.4.3 行为型设计模式 9.5 深入认识设计模式 9.6 小结 9.1什么是设计模式 正如Grady Booch所说,“软件领域的设计模式,为开发人员提供了使用专家设计经验的有效途径”。 为研究这一问题,Alexander对建筑物、城镇、街道等等实际上人类为自身所建造的各种生活空间的方方面面进行了大量观察。 他发现,在特定的建筑物中,优秀的结构都有一些共同之处。 设计模式的核心思想,是总结和积累了前人成功的设计经验,通过对这些经验的学习,使得人们在面对新的设计问题时不同再重复所有的环节,而是尽量套用已有的模式实施,以提高编程的效率。 设计模式四人组 GoF(“四人帮”,又称Gang of Four,即Erich Gamma, Richard Helm, Ralph Johnson John Vlissides四人)的《设计模式》,原名《Design Patterns: Elements of Reusable Object-Oriented Software》,第一次将设计模式提升到理论高度,并将之规范化。 9.2软件体系结构描述语言 软件体系结构描述语言(Architectural Description Language,ADL)的研究,源于20世纪70年代的模块互连语言,到20世纪90年代中后期达到了一个高潮,它是用来描述软件系统的总体结构的语言。 代表的体系结构描述语言有Wright、Rapide、ACME、ABC/ADL 等。 这些体系结构描述语言基于不同的形式基础,有着各自独特的适用场合。 9.2.1WRIGHT ADL WRIGHT其形式基础为CSP,适合于对软件体系结构的性质进行自动化的验证。它由三个部分组成。 第一个部分定义若干构件(Component)和连接子(Connector)类型。构件具有一组端口和一个构件规范。 第二个部分是一组构件实例和连接子实例(Instances),指定了再次配置中实际出现的实体。 第三个部分是一组联接(Attachments)它们将构件实例的端口与连接子实例的角色联系起来,从而构成一个完整的系统。 WRIGHT支持对体系构件的风格进行描述,以刻画一类体系结构。 9.2.2图形化体系结构描述语言 图形化体系结构的表达工具,是由矩形框和有向线段组合而成的图形 它是对于软件体系结构的描述和表达,一种简洁易懂且使用广泛的方法。 在这种方法中,矩形框代表抽象构件,框内标注的文字为抽象构件的名称,有向线段代表辅助各构件进行通讯、控制或关联的连接件。 体系结构描述 9.3设计模式的主要作用 设计模式的作用和研究意义表现在: 优化的设计经验。设计模式为开发者提供了良好的经过优化的设计经验。模式中所描述的解决方案是人们从不同的角度对某个问题精细研究,然后的出来最通用的解决方案。 较高的复用性。设计模式为重用面向对象代码提供了一种方便途径,使得复用某些成功的设计和结构更加容易。 没有经验的程序员也可借助设计模式提高设计水平。 多个模式可以组合起来构成完整的系统,这种基于模式的设计具有更大的灵活性、可扩展性和更好的可重用性。 丰富的表达能力。在面向对象的编程中,软件编程人员往往更加注重以往代码的重用性和可维护性。 通过提供某些类和对象的相互作用关系以及它们之间潜在联系的说明规范,设计模式甚至能够提高系统维护的有效性。 降低耦合性。设计模式的基本思想,是将程序中可能变化的部分与不变的部分分离,尽量减少对象之间的耦合,当某些对象发生变化时,不好导致其他对象都发生变化。 这样使得代码更容易扩展和维护,而且也让成功程序更容易被读懂。 9.4常用设计模式解析 9.4.1创建型设计模式 1. 简单工厂(Simple Factory)模式 简单工厂模式:专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。 它又称为静态工厂方法模式,属于类的建型模式。 Simple Factory模式根据提供给它的参数数据,返回几个可能类中的一个类的实例。通常它返回的类都有一个公共的父类和公共的方法。 简单工厂模式 提供一个类,由它负责根据一定的条件创建某一具体类的实例。 2. 工厂方法(Factory Method)模式 工厂方法模式,是对简单工厂模式进行了抽象和推广。 由于使用了多态性,工厂方法模式保持了简单工厂模式的优点,而且克服了它的缺点。 3. 抽象工厂模式 抽象工厂模式指一个工厂等级结构可以创建

文档评论(0)

liwenhua00 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档