第8章 设计模式1 - 概述ppt课件.ppt

第8章 设计模式1 - 概述ppt课件.ppt

ID:58697850

大小:3.40 MB

页数:70页

时间:2020-10-04

第8章 设计模式1 - 概述ppt课件.ppt_第1页
第8章 设计模式1 - 概述ppt课件.ppt_第2页
第8章 设计模式1 - 概述ppt课件.ppt_第3页
第8章 设计模式1 - 概述ppt课件.ppt_第4页
第8章 设计模式1 - 概述ppt课件.ppt_第5页
资源描述:

《第8章 设计模式1 - 概述ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第七章设计模式概述7.1模式的起源及软件模式7.2设计模式的概念、描述及分类7.3设计模式与软件体系结构7.4设计模式的原则和使用方式7.5设计模式的重要性模式的起源–建筑学2模式之父—ChristopherAlexander博士—美国加利佛尼亚大学环境结构中心研究所所长《APatternLanguage:Towns,Buildings,Construction》,给出了253个建筑和城市规划模式模式的定义3Alexander给出了关于模式的经典定义:每个模式都描述了一个在我们环境中不断出现的问题,然后描述了该问题的解决方案

2、的核心,通过这种方式,我们可以无数次地重用那些已有的解决方案,无需再重复相同的工作Apatternisasolutiontoaprobleminacontext模式是在特定环境中(前提条件下)解决目标问题的一种可重用(已确认)方案模式存在的意义解决一个问题:从模式可以得到解,而不仅仅是抽象的原则或策略是一个被证明了的概念:模式通过—个记录得到解,而不是通过理论或推测解并不是显然的:对大多数比较困难的设计问题来说,以非直接的方式得到解是必要的4软件模式的出现1990年,软件工程界开始关注Alexander博士在建筑与城市规划领

3、域研究的重大突破。最早将这种“模式”的思想引入软件工程方法学的以“四人组(GangofFour,GoF)自称的四位著名软件工程学者,他们在1994年归纳发表了23种在软件开发中使用频率较高的设计模式,旨在用模式来统一沟通面向对象方法在分析、设计和实现间的鸿沟5GoF6ErichGamma:苏黎世大学计算机科学博士,是Eclipse、JUnit等项目主要技术负责人之一JohnVlissides:斯坦福大学计算机科学博士,原IBM研究员RalphJohnson:康奈尔大学计算机科学博士,伊利诺伊大学教授RichardHelm:墨

4、尔本大学计算机科学博士,原IBM研究员,现在IBM咨询集团供职软件模式的概念软件模式是将模式的一般概念应用于软件开发领域,即软件开发的总体指导思路或参照样板软件模式并非仅限于设计模式,还包括架构模式、分析模式和过程模式等,实际上,在软件生存期的每一个阶段都存在着一些被认同的模式模式的核心思想是通过增加抽象层,把变化部分从那些不变部分里分离出来7软件模式是…对通用设计问题的重复解决方案对真实世界问题的实践的/具体的解决方案面向特定的问题环境权衡利弊之后得到的“最佳”解决方案领域专家和设计老手的“杀手锏”用文档的方式记录的最佳实

5、践在讨论问题的解决方案时,一种可交流的词汇在使用(重用)、共享、构造软件系统中,一种有效地使用已有的智慧/经验/专家技术的方式8软件模式不是…仅仅限于面向对象的软件设计未经检验的想法/理论或新的发现仅仅使用过一次的解决方案(只有经过三个以上不同类型或不同领域的系统的校验,一个解决方案才能从候选模式升格为模式)以模式的形式描述过时的技术和方法抽象原理或启发性的构想在任何环境下都适用的通用解决方案“万精油”或“万能药”9推荐的参考书10经典教材英文版经典教材中文版参考教材刘伟著参考教材入门级设计模式的概念11软件设计中的坏味道(

6、设计缺陷)典型表现过于僵化(Rigidity):软件难以增加新功能,哪怕是简单的功能,存在大量的硬编码,使代码的灵活性非常差过于脆弱(Fragility):软件的一处修改往往导致看上去没有关系的另一个地方出现故障复用率低(Immobility):无法重用项目中其他部分的功能,只能简单的粘贴代码来代替重用粘度过高(Viscosity):破坏系统原来框架和意图的改动方式比保留这些内容更加容易,是一种错误的代码维护方案不透明性(Opacity):一个模块难以理解12可维护性和可重用性较差OOP过程中痛苦的是什么?1、选择太多,无从

7、下手publicprotectedprivate继承组合实现继承接口继承成员变量局部变量2、没有正确答案:不知道我们是否真正的实现了面向对象的要求,看别人写的东西都是垃圾,自己写的东西慢慢也成为了垃圾问题总结为:怎样才能实现好的设计,什么才是好的设计—高可复用性,高灵活性,高扩展性—高内聚,低耦合13设计模式的提出背景“选择太多,无从下手”的解答:一下子得到复用性和灵活性好的设计,不可能或非常困难;所以,内行的设计者通常会复用以前使用过的可行的软件设计解决方案“没有正确答案”的解答:已经验证过、被多次使用的、面向对

8、象的设计就是很好的设计设计模式的目的就是将面向对象软件的设计经验记录下来,可以作为面向对象软件设计的“武林秘籍”,我们掌握了设计模式,加上不断的灵活应用,就可以说是OO行家,就可以站在巨人的肩膀上作出好的设计14设计模式的提出背景设计模式(DesignPattern)是随着面向对象技术的出

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。