设计模式ppt..pptVIP

  • 7
  • 0
  • 约 29页
  • 2016-12-15 发布于重庆
  • 举报
第四章 软件设计模式基础 4.1 设计模式的概念 4.2 设计模式的原则 4.3 设计模式的类型 4.1 设计模式的概念 起源于建筑学 Alexander, C., Ishikawa, S., Silverstein, M., The Timeless Way of Building, New York: Oxford University Press,1979. “Each pattern describes a problem which occurs over and over again in our environment, and then describes the core of the solution to that problem, in such a way that you can use this solution a million times over, without ever doing it the same way twice.” Patterns = problem/solution pairs in a context 4.1 设计模式的概念 建筑学?软件设计? 软件中是否有不断重复出现、可以用某种相同方式解决的问题? 是否可能用“按照模式、首先识别出模式然后在模式的基础上创建特定的解决方案”的方法来设计软件? GoF(Gang of Four): Erich Gamma, Richard Helm, Ralph Johnson John Vlissides 23种经典的软件设计模式 GoF的设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用 4.1 设计模式的概念 设计模式(Design pattern) 是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 Developing software is hard Developing reusable software is even harder 4.1 设计模式的概念 设计模式使人们可以更加简单方便地复用成功的设计和体系结构。 将已证实的技术表述成设计模式也会使新系统开发者更加容易理解其设计思路。 设计模式帮助你做出有利于系统复用的选择,避免设计损害了系统复用性。 通过提供一个显式类和对象作用关系以及它们之间潜在联系的说明规范,设计模式甚至能够提高已有系统的文档管理和系统维护的有效性 设计模式可以帮助设计者更快更好地完成系统设计 4.1.1 什么是设计模式 模式是一种特别巧妙和敏锐的用以解决某类特定问题的最通用和灵活的解决办法。 模式的基本概念: 增加一个抽象层,把变化的东西从那些不变的东西里分离出来。 4.1.2 模式的基本要素 模式名称(pattern name) :一个助记名,它用一两个词来描述模式的问题、解决方案和效果。 Unique vocabulary 问题(problem):描述了应该在何时使用模式。它解释了设计问题和问题存在的前因后果,它可能描述了特定的设计问题,如怎样用对象表示算法等。也可能描述了导致不灵活设计的类或对象结构。 intent, context, when to apply 解决方案(solution) :描述了设计的组成成分,它们之间的相互关系及各自的职责和协作方式。 UML-like structure, abstract code 效果(consequences) :描述了模式应用的效果及使用模式应权衡的问题。 Results tradeoffs 4.1.3 成功采用设计模式的三个步骤 培训: 培训开发具体设计模式的团队。 设计模式采用指导:设计模式可用于使项目受益,但是他们也可能因为误用而对应用程序造成损害。应当鼓励采用他们,但是对其的采用应当受到审阅和验证。 重用实现,不只是设计模式 设计模式的本质是代码重用,可以灵活把握 缩短开发时间和降低成本 缩短维护时间和降低成本 在应用程序之间和内部轻松集成。 4.2 设计模式的原则 开-闭原则(Open Closed Principle) 单一职责原则(Single Responsibility Principle, SRP) 里氏代换原则(Liskovt Substitution Principle, LSP) 依赖倒置原则(Dependency-Inversion Principle, DIP) 4.2.1 开放封闭原则(OCP) “Software entities” should be open for extensio

文档评论(0)

1亿VIP精品文档

相关文档