- 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
您可能关注的文档
- 计量经济学时间序列分析..ppt
- 保险代理人资格考试真题模式讲解试卷1.ppt
- 认识汽车底盘..ppt
- 保险代理从业人员资格考试试卷1.doc
- 设备1-3车辆..ppt
- 设备安装施工员专业基础知识课件..ppt
- 讲课的方法与技巧..ppt
- 讲农企管理20152015428..ppt
- 设备操作培训..ppt
- 设备维修基础知识..pptx
- 河北盐山中学等校2025-2026学年上学期高三一模化学试卷(含解析).docx
- 河北正定中学2025-2026学年高一上学期期末考试物理试卷(含解析).docx
- 河北张家口市怀安县2025-2026学年第一学期期末教学综合评价八年级地理试卷(含解析).docx
- 河南安阳市殷都区2025-2026学年第一学期期末教学质量检测七年级地理试卷(含解析).docx
- 河南安阳市滑县2025一2026学年第一学期期末学业质量监测八年级地理试题(含解析).docx
- 河南安阳市林州市2025-2026学年上学期期末考试高一政治试题(含解析).docx
- 河南焦作市武陟县第一中学2025-2026学年高一上学期1月月考语文试卷(含解析).docx
- 河南济源市2025-2026学年上学期期末学业质量调研七年级历史试卷(含解析).docx
- PICC导管并发症的紧急处理与护理.pptx
- 河南鹤壁市2025-2026学年高二上学期期末考试生物试题(含解析).docx
最近下载
- 行政法与行政诉讼法期末考试试题及答案.pdf VIP
- 2026年抚州职业技术学院单招职业适应性测试题库含答案详解.docx VIP
- DnD_5E_新手套组_基础入门规则CN.pptx VIP
- 六年级道德与法治下册3《学会反思》.ppt VIP
- 2025年演出经纪人演出票务销售数据统计与透视表分析专题试卷及解析.pdf VIP
- 初级安检证试题及答案.pdf VIP
- 2026年抚州职业技术学院单招《数学》模拟试题【有一套】附答案详解.docx VIP
- 2024年计算机等级考试一级计算机基础及WPS Office应用试卷及解答参考.pdf VIP
- T_TFZX 59-2025 医疗机构医德医风考评指标体系指南.pdf VIP
- 遗传药理学大题库及答案.doc VIP
原创力文档

文档评论(0)