- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 1 松耦合软件分成模块 大的软件都是由一个一个小模块组成的 小模块还可能再由更小的模块组成一个模块就是相互间联系紧密的变量与函数 或对象 不同模块间关系比较松散模块间关系越松散 这样修改一个模块时 对其它模块的影响就越小 这样可以把变化限制在一个模块内2 针对接口编程 而不是针对实现编程具体来说就是 你只要定义这个接口有什么功能 不用定义它是什么实现的当其它模块需要这个功能时 只要调用这个接口就可以 它不必了解你的实现机制当你换一个实现时 就不会同时修改其它模块3 继承 组合 委托与多态与参数化继承是有父子关系的对象的具体化组合就是把有相互关系的对象放在一起 由它们提供某一个或一组功能 这功能需要它们共同配合才能实现委托是一个对象把一个请求转交给另一个对象执行 相当歌手与经济人的关系 经济人是委托者 歌手是执行者多态就是实现的可替换性 你可以在运行时使用另一种实现来代替当前实现而不必修改代码参数化就是根据不同类型的参数提供不同的功能 如c++中的模板机制 如vector类 * 创建型模式与对象的创建有关 结构型模式处理对象或类的组合 行为型模式对类和对象怎样交互和怎样分配职责进行描述类模式处理类与子类的关系 对象模式处理对象间关系 * 创建型模式就是怎样构造一个对象的方法结构型模式就是怎样使用组合的方法行为型则是怎样分配类或对象的功能及怎样调用它们的算法类模式与类继承相关 对象模式与对象间关系相关 传统的依赖层次 高层使用低层的对象及其服务 都依赖于抽象 设计抽象接口,上层类使用接口,下层类实现接口 这样Button类也可以得到重用,也许是开关灯,也许是开关电视,根据创建具体对象完成多态的行为。 如何遵守设计原则 设计原则不是死记硬背,而是要灵活运用 一些成熟的设计模式可以帮助我们解决实际问题,并且符合设计原则 11.6 软件设计模式 GRASP对象职责分配模式 GRASP(General Responsibility Assignment Software Pattern)是一组通用的基本原则和惯用的设计方案,用来指导对象职责的分配和交互图的创建。OOAD经典著作《UML和模式应用》进行了总结和应用。 GoF23种设计模式 由四人组的专著《设计模式》一书总结了广为应用的23种设计模式,每种模式解决了一个特定问题,包括一组合适的对象和对象接口,以及对象间协作的方式。 模式无处不在 好莱坞电影模式 社会题材、动作片、言情片、历史题材片… 中国象棋开局 当头炮、顺炮、列炮、屏风马… 围棋布局 星小目、三连星、中国流、宇宙流… 古代行军布阵 八阵图、天门阵、一字长蛇阵… 建筑、服装、交通、社会、文化…诸多模式 模式是对成功应用经验的总结与复用 设计模式的基本思想-1 软件是在不断进化的 需求在不断改变,所以软件应该适应变化 设计模式是为了让软件更加适应变化,有更多的可复用性;就是有变化时你不用从头重写一次这个软件 如何适应变化? 就应该封装变化,让变化的影响最小 封装复杂性,提供简单的接口 设计模式的基本思想-2 遵守上述设计原则: 松耦合 针对接口编程,而不是针对实现编程 使用继承、组合、委托、多态、泛型 11.6.1 什么是设计模式 美国建筑设计大师Christopher Alexander,在他出版的一本关于城市规划和建筑设计的著作《建筑的永恒方法》中,是这样描述模式的:模式是一条由三部分组成的规则,它表示了一个特定环境、一个问题和一个解决方案之间的关系。每一个模式描述了一个在我们周围不断重复发生的问题以及该问题解决方案的核心内容。这样,你就能一次又一次地使用该方案而不必做重复劳动。 Each pattern describes a problem which occurs over and over again in our environments, 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. -- Christopher Alexander, A Pattern Language, 1977 设计模式名成为专业词汇 讨论设计方案时,使用模式名能简化描述 设计模式 是: 优秀的设计范例 从优秀设计方案中发现和总结出来的经验 在实践中反复出现的设计问题的优秀解决方案 设计者相互交流的基本术语:设计语言 培养优秀设计师的一条捷径 不是: 面向对象设计的框架 可
您可能关注的文档
- 流程的优化报告.ppt
- 流水广告等的设计报告.ppt
- 六IC总线规范报告.ppt
- 六级上册《圆的周长》报告.ppt
- 六级下册语文期末复习修辞手法复习报告.ppt
- 裸子植物课件报告.ppt
- 旅游英语翻译(导游词,门票,景点名翻译)报告.ppt
- 绿色建筑——清洁生产导论作业报告.pptx
- 绿色植物参与生物圈的水循环制作报告.ppt
- 马可尼光端机培训教材报告.doc
- 浙江省温州市浙南名校联盟2025-2026学年高一上学期期中联考数学试题含解析.docx
- 26高考数学提分秘诀重难点34圆锥曲线中的定点、定值、定直线问题(举一反三专项训练)(全国通用)(含解析).docx
- 26高考数学提分秘诀重难点35概率与统计的综合问题(举一反三专项训练)(全国通用)(含解析).docx
- 26高考数学提分秘诀重难点31圆锥曲线中的切线与切点弦问题(举一反三专项训练)(全国通用)(含解析).docx
- 26高考数学提分秘诀重难点30圆锥曲线中的弦长问题与长度和、差、商、积问题(举一反三专项训练)(全国通用)(含解析).docx
- 26高考数学提分秘诀重难点29巧解圆锥曲线的离心率问题(举一反三专项训练)(全国通用)(含解析).docx
- 26高考数学提分秘诀重难点28直线与圆的综合(举一反三专项训练)(全国通用)(含解析).docx
- 寡核苷酸药物重复给药毒性研究技术指南.docx
- 重组溶瘤腺病毒生产质量管理标准.docx
- 26高考数学提分秘诀重难点27直线与圆中常考的最值与范围问题(举一反三专项训练)(全国通用)(含解析).docx
原创力文档


文档评论(0)