- 1、本文档共79页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
设模式2
Applicability 为一个复杂的子系统提供一个简单接口。子系统往往会非常复杂,但是其接口应该尽可能地简单,特别是对于一般用户而言 客户与实现抽象功能的诸类之间存在一定的依赖性,facade可以降低这种依赖性 在多个子系统的结构中,使用facade模式定义子系统的入口点,有助于降低各子系统之间的依赖性 * Institute of Computer Software Nanjing University * Structure * Institute of Computer Software Nanjing University * Participants Facade 知道哪些子系统类负责处理请求 将客户的请求代理给适当的子系统对象 Subsystem classes 实现子系统的功能 处理由Facade对象指派的任务 没有facade的任何相关信息;即没有指向facade的指针 * Institute of Computer Software Nanjing University * Collaborations 客户程序通过发送请求给Facade的方式与子系统通讯,Facade将这些消息转发给适当的子系统对象 使用Facade的客户程序不需要直接访问子系统对象 * Institute of Computer Software Nanjing University * Sample Code Consequences 它对客户屏蔽子系统组件,因而减少了客户处理的对象的数目并使得子系统使用起来更加方便 它实现了子系统与客户之间的松耦合关系,而子系统内部的功能组件往往是紧耦合的。 化“紧耦合”为“松耦合” —— 实现组件软件的关键技术 并不限制应用使用子系统类 * Institute of Computer Software Nanjing University * Implementation 降低客户-子系统之间的耦合度,用抽象类实现Facade而它的具体子类对应于不同的子系统实现可以进一步解耦;另一种方法是用不同的子系统对象配置Facade对象 公共子系统类与私有子系统类 * Institute of Computer Software Nanjing University * Related Patterns Abstract Factory模式可以与Facade模式一起使用以提供一个接口,这一接口可用来以一种子系统独立的方式创建子系统对象 Mediator模式与Facade模式的相似之处是,它抽象了一些已有的类的功能 通常仅需要一个Facade对象,因此可以用Singleton模式 * Institute of Computer Software Nanjing University * Flyweight Intent 运用共享技术有效支持大量细粒度的对象。 Motivation 当对象的粒度太小的时候,大量对象将会产生巨大的资源消耗,因此考虑用共享对象(flyweight)来实现逻辑上的大量对象。Flyweight对象可用于不同的context中,本身固有的状态(内部状态)不随context发生变化,而其他的状态(外部状态)随context而变化 Flyweight模式对那些通常因为数量太大而难以用对象来表示的概念或实体进行建模 * Institute of Computer Software Nanjing University * Example * Institute of Computer Software Nanjing University * Example * Institute of Computer Software Nanjing University * 外部状态,作为参量传入 Flyweight对象 Applicability 一个应用程序使用了大量的对象 完全由于使用大量的对象,造成很大的存储开销 对象的大多数状态都可变为外部状态 如果删除对象的外部状态,那么可以用相对较少的共享对象取代很多组对象 应用程序不依赖于对象标识 * Institute of Computer Software Nanjing University * Structure * Institute of Computer Software Nanjing University * Structure Object graph * Institute of Computer Software Nanjing University * Sample Code Participants Flyweight 描述一个接口,通过这个接口flyweight可以接受并作用于外部状态 ConcreteFlywei
您可能关注的文档
- 让语言起来.ppt
- 让读教学为写作保驾护航.ppt
- 让语文课堂引导语更效.ppt
- 让读成为一种习惯.ppt
- 让语言生起来课件.ppt
- 让课堂闪耀思想的光!思想品德高效课堂点评.ppt
- 让质教育的阳光照耀所有的花朵.ppt
- 让课程建设成为自觉的为.ppt
- 让身俱乐部插上网络的翅膀.ppt
- 让课堂学焕发生命活力小学数学有效教学.ppt
- 无人机操控技术 课件 项目四 无人机模拟器飞行训练.pptx
- 2025年高精度智能点胶设备点胶阀企业发展战略和经营计划.docx
- 自闭症儿童音乐治疗课程体系在特殊教育学校的实施效果与特殊教育政策分析教学研究课题报告.docx
- 基于可持续发展的校园周边环境美化规划与实施教学研究课题报告.docx
- 人工智能技术下的小学数学跨媒体资源整合与互动教学研究教学研究课题报告.docx
- 《青少年文化认同与文化自信培育在信息技术课程中的应用》教学研究课题报告.docx
- 宠物粪便处理现状调查与城市社区生态环保意识培养教学研究课题报告.docx
- 人工智能在初中物理实验操作评价与预测中的应用教学研究课题报告.docx
- 《文旅融合景区智慧服务中的旅游文化传承与创新实践与挑战》教学研究课题报告.docx
- 小学生音乐教育中音乐风格教学与音乐教育评价改革的理论探讨研究教学研究课题报告.docx
最近下载
- 2025形势与政策-加快建设社会主义文化强国.pptx
- 人教版(2025)七年级下册Unit1Animal FriendsSection B How are animals part of our lives Section B 1a~2b课件+音频(共3.pptx VIP
- 110kv变电站继电保护毕业设计.doc VIP
- 公路隧道工程施工.pptx
- 电信行业运营商业务连续性保障方案.doc VIP
- 生态酒店设计分析.pptx
- GB∕T 702-2017 热轧钢棒尺寸、外形、重量及允许偏差(高清版).pdf
- 2025-2030年中国采血器产业运行动态分析及投资战略咨询报告.docx
- 江苏旅游资源的特征与分类及开发思考.pptx VIP
- 海南大学2022-2023学年《细胞生物学》期末考试试卷(B卷)附参考答案.docx
文档评论(0)