网站大量收购独家精品文档,联系QQ:2885784924

软件设计模式与体系结构.pptx

  1. 1、本文档共46页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
周宇 南京航空航天大学 zhouyu@nuaa.edu.cn ;先修课程;课程周期 32学时:4*8(1-8周) 课程设计 教材及参考 Design Patterns - Elements of Reusable Object-Oriented Software, Erich Gamma Richard Helm, Ralph Johnson John Vlissides 著, 机械工业出版社 Software Architecture – Perspectives on an Emerging Discipline. Mary Shaw, David Garlan著,清华大学出版社. ;软件设计方法演化 软件设计模式 软件体系结构 ;程序设计语言演化 软件设计方法演化 软件生产力提升 ;机器语言 program = (1|0)+ 汇编语言 program = (opcode (operand)*)* 高级语言:面向过程式 program = data structure and algorithm 高级语言:面向对象式 program = (object) + ;软件设计方法演化;软件生产力提升;例:Implementing Keyword in Context (KWIC);Implementing KWIC (2);Implementing KWIC (3);Implementing KWIC (4);软件开发是一种创造性和艺术性的工作,需要充分发挥我们的聪明才智和潜力。我们要改变只重视功能结果???不重视代码质量的行为习惯,要严格遵守软件工程规范。 我们要熟悉各种设计模式,重用公共成熟组件和服务,避免重复劳动。 架构要符合架构原则,设计要遵循设计模式,代码要符合编程规范,最终做到需求与实现一致,达成各项对客户的承诺。 我们要重构腐化的架构及不符合软件工程规范和质量要求的历史代码。 ;概念定义 基本要素 依据原则 分类讲解 模式协作 ;什么是设计模式;软件中的设计模式;在面向对象的编程中使用模式化方法研究的开创性著作,是文献[GOF95](中译本[GOF95Z]) 《设计模式:可复用面向对象软件的基础》 这四位作者通常被称为“四人帮”(Gang of Four, 或GoF) Gof23种设计模式是学习面向对象设计模式的起点,而非终点;单一职责原则 (SRP) “开-闭”原则 (OCP) 里氏代换原则 (LSP) 接口隔离原则 (ISP) 依赖倒置原则 (DIP) ;就一个类而言,应该仅有一个引起它变化的原因 每一个引起类变化的原因就是一个职责,当类具有多职责时,应把多余职责分离出去,分别创建一些类来完成每一个职责 每一个职责都是一个变化的轴线,当需求变化时会反映为类的职责的变化 举例 interface Modem{ public void dial(String pno); public void hangup(); public send(char c); public char recv(); } Modem类有两个职责:连接管理和数据通信,应将它们分离;定义:软件对扩展是开放的,对修改是关闭的。开发一个软件时,应可以对其进行功能扩展(开放),在进行扩展的时候,不需要对原来的程序进行修改(关闭) 好处:在软件可用性上非常灵活。可以在软件完成后对软件进行扩展,加入新的功能。这样,软件就可通过不断的增加新模块满足不断变化的新需求 由于不修改软件原来的模块,不用担心软件的稳定性;抽象:把系统的所有可能的行为抽象成一个底层;由于可从抽象层导出一个或多个具体类来改变系统行为,因此对于可变部分,系统设计对扩展是开放的 可变性封装:对系统所有可能发生变化的部分进行评估和分类,每一个可变的因素都单独进行封装;开闭原则(OCP)示例;开闭原则(OCP)示例;Liskov替换原则(LSP);25;Liskov替换原则(LSP)的实现途径;接口隔离原则(ISP);接口隔离原则(ISP)-- 示例;依赖倒置原则(DIP);依赖倒置原则(DIP)的实现途径;依赖倒置原则(DIP)示例;划分标准:目的 创建型: 创建对象 结构型: 处理类或者对象的组合 行为型: 类或者对象如何交互和分配职责;设计模式的分类 (2);模式名称(Pattern Name) 问题(Problem):描述应该在何时使用模式。解释了设计问题和问题存在的前因后果,可能还描述模式必须满足的先决条件 解决方案(Solution):描述了设计的组成成分、相互关系及各自的职责和协作方式。模式就像一个模板,可应用于多种场合,所以解决方案并不描述一个具体的设计或实现

文档评论(0)

文先生 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:8047000056000024

1亿VIP精品文档

相关文档