软件设计与体系结构课件 设计原则、设计模式(1)
28页1、1,第25讲 设计原则、设计模式,2,2,本讲提纲 软件设计目标 设计原则 设计模式 创建型模式 结构型模式 行为性模式,第25讲 设计原则、设计模式,3,3,软件设计目标,软件设计目标 正确性 健壮性 可复用性 可维护性 高效性,4,4,软件设计目标,5,5,可复用性: 继承 聚合 依赖,软件设计目标,6,6,可维护性: 增加更多同类型的功能 增加新功能 修改功能,软件设计目标,7,7,高效性: 设计效率 使用便捷的工具和语言会节约大量的设计时间,但程序员也失去了对这个系统使用的时空方面的控制。 执行效率 可从远程调用、循环、函数调用、对象创建等方面提高执行效率。,软件设计目标,8,8,高效性: 执行效率 处理循环问题 消除远程调用 消除函数调用,软件设计目标,9,9,高效性: 存储效率 只存储需要的数据 压缩数据 按相关访问频率存储数据,软件设计目标,10,10,软件设计度量: 面向对象软件质量的度量重点在于对类的分析上。 应从类的以下方面考虑: 耦合 内聚度 继承性 复杂度,软件设计目标,11,11,软件再工程: 是指对既存对象系统进行调查,并将其重构为新形式代码的开发过程。 最
2、大限度的复用既存系统的各种资源是再工程的最重点特征之一。 如何开发可复用软件和如何构造采用可复用软件的系统体系结构是两个关键问题。,软件设计目标,12,12,软件逆向工程: 是指分析软件系统,确定其构成成分及各成分间的关系,提取并生成系统抽象和设计信息的工程。,软件设计目标,13,13,设计模式,设计模式的概念最早是由建筑理论家Christopher Alexander 提出的。他试图找到一种结构化、可重用的方法,以在图纸上捕捉到建筑物的基本要素。 Alexander提出的模式是经过时间考验的解决方案,使用模式可以降低解决问题的复杂度。,14,14,设计模式,MVC模式,15,15,设计模式的定义,一个模式是关注一个在特定设计环境中重复出现的设计问题,并为它提供解决方案。 受到普遍认可的设计模式的定义是由Dirk Riehle 和Heinz Zullighoven于1996年给出的模式是指从某个具体的形式中得到的一种抽象,在特殊的非任意性的环境中,该形式不断地重复出现。,16,16,一个好的模式必须做到以下几点: 解决一个问题。 是一个被证明了的概念。 解并不是显然的。 描述了一种关系
3、。 模式有重要的人为因素。,设计模式的定义,17,17,Erich Gamma博士等人采用下面的固定模式来描述: 模式名称和分类 目的 别名 动机 应用 结构,设计模式的描述,18,18,Erich Gamma博士等人采用下面的固定模式来描述: 成分 合作 后果 实现 例程代码 已知的应用 相关模式,设计模式的描述,19,19,模式作为体系结构构造块 构造异构体系结构 模式和方法 实现模式,模式和体系结构,20,20,Coad的面向对象模式 代码模式 框架应用模式 形式合约,设计模式方法分类,21,21,主要分为创建型模式、结构型模式、行为型模式 创建型模式(Creational Pattern) 用来创建对象的模式,是对类实例化过程的抽象化。创建模式将对象的创建、组合、表示独立于系统,系统可以得到很大的灵活性:创建对象、创建者、创建方式、创建时间,都可以被自由配置。,设计模式方法分类,22,22,主要分为创建型模式、结构型模式、行为型模式 结构型模式(Structural Pattern) 描述如何将类或对象结合在一起形成更大的结构。 行为型模式(Behavioral Pattern) 是对在不同的对象之间划分责任和算法的抽象化。描述类或对象之间如何交互以及如何分配职责,所涉及的不仅有类或对象,还有它们之间的通信模式。,设计模式方法分类,23,23,设计模式方法分类,创建型模式,24,24,设计模式方法分类,结构型模式,25,25,设计模式方法分类,结构型模式,26,26,设计模式方法分类,行为型模式,27,27,设计模式方法分类,行为型模式,28,28,设计模式方法分类,行为型模式,
《软件设计与体系结构课件 设计原则、设计模式(1)》由会员luoxia****01802分享,可在线阅读,更多相关《软件设计与体系结构课件 设计原则、设计模式(1)》请在金锄头文库上搜索。
2019-11-18 87页
2019-11-11 27页
2019-02-01 26页
2019-02-01 79页
2019-02-01 62页
2019-02-01 63页
2019-02-01 52页
2019-02-01 82页
2019-02-01 30页