- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
设计模式-Bridge模式祥解.ppt
桥接模式— Bridge Bridge(桥梁)模式 最初的设计 Bridge(桥梁)模式 需求变化:鸟类要会飞 Bridge(桥梁)模式 如果增加一种鸟类“企鹅”呢? Bridge(桥梁)模式 改进方法:对“飞”使用多态 Bridge(桥梁)模式 改进方法:再次使用继承 Bridge(桥梁)模式 如果增加“游泳”行为呢? Bridge(桥梁)模式 继承只会使得问题越来越复杂 继承是面向对象的基本法宝啊?? OO=类+对象+继承+消息通信 设计原则:组合优先 继承复用的优点 可以很容易的修改或扩展父类的实现 设计原则:组合优先 继承复用的缺点 继承破坏封装,因为父类的实现细节完全暴露给子类(白盒复用) 父类的实现发生改变,则子类必受牵连 继承是静态的,不能在运行时发生改变,不灵活 Bridge(桥梁)模式 是什么导致设计的不完美? 变化,无法避免的、经常的需求变化 设计者的理想 当需求变化的时候,尽可能少的修改代码就可以满足新的需求 Bridge(桥梁)模式 “发现变化点” Bridge(桥梁)模式 “封装变化点” 变化点1:小鸟一家 Bridge(桥梁)模式 “封装变化点” 变化点2:鸟类的行为——飞 Bridge(桥梁)模式 “封装变化点” 变化点2:鸟类的行为——游泳 Bridge(桥梁)模式 “使变化点和不变点独立开来” 在这个例子里其实是两个变化点相独立 “鸟类”和“行为”什么关系? 鸟类拥有行为 鸟类行为的具体实现,委托“行为”类来完成 鸟儿拥有飞、游泳的行为 Bridge(桥梁)模式 使用桥梁模式的效果 比如增加一种鸟类“鹅”,相应的要增加一种游泳的行为“红掌拨清波” 只需要增加一个鸟类的子类“鹅” 增加一个游泳的行为“红掌拨清波” 设置“鹅”的飞翔行为为“飞不起来” 设置“鹅”的游泳行为为“红掌拨清波” 原有代码不需要改动! Bridge(桥梁)模式 Bridge(桥梁)模式 使用桥梁模式的效果 当需求改变的时候(增加动物或行为),只需要简单添加几个类 对原有代码不需要改动 保证了代码的稳定,提高了可维护性 Bridge(桥梁)模式 意图 将抽象部分与它的实现部分分离,使它们都可以独立地变化 适用性 抽象和它的实现部分可以独立变化 类的抽象以及它的实现都可以通过生成子类的方法加以扩充 实现部分的修改不会对客户产生影响 ...... 设计原则:组合优先 组合复用的优点 不破坏封装,这种复用是黑盒复用,因为成员对象的内部细节对新对象保密 所需依赖少(只依赖接口) 是动态的,可以把成员对象动态替换为另一个类型相同的对象 组合复用的缺点 对象数量会增加 使用委托(delegation)会使得系统复杂 设计原则:组合优先 组合优先 Favor composition over inheritance 当需要应对变化的时候,应该首先使用组合的方式,而不是继承 因为组合更加灵活 例1: 汽车有很多种,小轿车、货车、客车,有的车是客货两用,有的车水陆两用 设计原则:组合优先 如果使用继承来描述: 一旦增加新的汽车种类或用途,都需要大量改动原有代码 设计原则:组合优先 使用“组合”思路考虑问题 “汽车”拥有某种或某些“用途” “汽车”和“用途”独立变化,互不影响 设计原则:组合优先 区分“Is-A”与“Has-A” 有一个系统需要描述经理、雇员和学生 它们都是人,所以: 设计原则:组合优先 问题 有些人既是经理,又是学生,比如某位在读MBA的老总 设计原则:组合优先 换一个角度看问题 雇员、经理、学生其实都是角色的一种 人拥有角色 * * 设计原则1:组合优先 优先使用组合,而不是继承 设计原则2:封装可变性 发现代码容易变化的部分,封装之,使它和不容易变化的部分独立开来 设计原则3:开-闭原则 在设计一个软件的时候,应当使这个软件可以在不被修改的前提下扩展
您可能关注的文档
- 设备动力车间安全操作规程祥解.ppt
- 设备及工器具费用祥解.ppt
- 设备教案(4,5)空气除菌流程祥解.ppt
- 设备更新的经济分析,采购必须参考祥解.ppt
- 设备物资管理祥解.ppt
- 设备的前期管理祥解.ppt
- 设备管理和TPM祥解.ppt
- 设备维护保养培训祥解.ppt
- 设备设施GMP化管理祥解.ppt
- 设备质量保证与机械完整性祥解.ppt
- 2025年江西财经大学现代经济管理学院中国近现代史纲要期末考试模拟题附答案.docx
- 2025年天津工业大学马克思主义基本原理概论期末考试模拟题含答案.docx
- 2025年嘉兴学院马克思主义基本原理概论期末考试模拟题含答案.docx
- 2025年枣庄科技职业学院思想道德修养与法律基础期末考试模拟题附答案.docx
- 2026年国家保密员培训考试参考答案.docx
- 2025年北京体育大学马克思主义基本原理概论期末考试模拟题必考题.docx
- 2026年上半年江西省中小学教师资格考试(笔试)备考题库及完整答案.docx
- 2025年河北工程大学科信学院思想道德修养与法律基础期末考试模拟题必考题.docx
- 2025年果洛州辅警协警招聘考试真题附答案.docx
- 2025年江西工程学院中国近现代史纲要期末考试模拟题附答案.docx
最近下载
- 2023年石油钻井安全经验分享案例.pdf VIP
- HB963-2005 铝合金铸件规范.pdf VIP
- 内黄县生活垃圾处理场升级改造陈腐垃圾处理项目环境影响报告书.pdf VIP
- 兽医临床实践与新技术.pptx VIP
- “十五五规划纲要”解读:网络安全筑防线.pptx
- 学习二十届四中全会精神PPT党课课件.pptx VIP
- 电炉捞渣机.pdf VIP
- 2026及未来5年中国三相自动调压器市场数据分析及竞争策略研究报告.docx
- 2025年湖南邮电职业技术学院单招职业技能测试必刷测试卷附答案.docx VIP
- DB32_T 5309—2025 普通国省道智慧公路建设总体技术规范.pdf VIP
原创力文档


文档评论(0)