- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
设计模式期末试考复习
一What is design pattern ?模式 是在物体或事件上,产生的一种规律变化与自我重复的样式与过程。在模式之中,某些固定的元素不断以可预测的方式周期性重现。What is design pattern ?广义讲,软件设计模式是可解决一类软件问题并能重复使用的软件设计方案;狭义讲,设计模式是对被用来在特定场景下解决一般设计问题的类和相互通信的对象的描述。是在类和对象的层次描述的可重复使用的软件设计问题的解决方案;[面向对象]设计模式体现的是程序整体的构思,所以有时候它也会出现在分析或者是概要设计阶段 设计模式的核心思想是通过增加抽象层,把变化部分从那些不变部分里分离出来GOF(Gang of Four)的设计模式定义:设计模式是在一个 上下文 中,对一个问题 的 解决方案,及其能够达到的效果。即模式的四要素:名称、上下文与问题、解决方案、效果。分类:23种设计模式:创建型:5种结构型:7种行为型:11种四要素:模式名称(Pattern Name)问题(Problem):描述应该在何时使用模式。解释了设计问题和问题存在的前因后果,可能还描述模式必须满足的先决条件;解决方案(Solution):描述了设计的组成成分、相互关系及各自的职责和协作方式。模式就像一个模板,可应用于多种场合,所以解决方案并不描述一个具体的设计或实现,而是提供设计问题的抽象描述和解决问题所采用的元素组合(类和对象);效果(consequences ):描述模式的应用效果及使用模式应权衡的问题都有哪些设计模式?GOF共提出23种设计模式:创建型:5种结构型:7种行为型:11种Creational Patterns用来创建对象的模式,抽象了实例化过程 Factory Method [ 工厂模式 ]父类负责定义创建对象的公共接口,而子类则负责生成具体对象,将类的实例化操作延迟到子类中完成;Abstract Factory [ 抽象工厂模式 ] 为一个产品族提供统一的创建接口。当需要这个产品族的某一系列的时候,可以从抽象工厂中选出相应的系列创建一个具体的工厂类;Singleton [ 单例模式 ] 保证一个类有且仅有一个实例,提供一个全局访问点;Builder [ 建造者模式 ]将复杂对象创建与表示分离,同样的创建过程可创建不同的表示。允许用户通过指定复杂对象类型和内容来创建对象,用户不需要知道对象内部的具体构建细节;Prototype [ 原型模式 ]通过“复制”一个已经存在的实例来返回新的实例(不新建实例)。被复制的实例就是“原型”,这个原型是可定制的。原型模式多用于创建复杂的或者耗时的实例,因为这种情况下,复制一个已经存在的实例使程序运行更高效;或者创建值相等,只是命名不一样的同类数据;Structural Patterns结构型模式讨论的是类和对象的结构,它采用继承机制来组合接口或实现(类结构型模式),或者通过组合一些对象来实现新的功能(对象结构型模式)Adapter [适配器模式]将一个类的接口适配成用户所期待的接口。一个适配器允许因为接口不兼容而不能在一起工作的类工作在一起,做法是将类自己的接口包装在一个已存在的类中;Bridge [桥接模式]桥接模式的用意是将问题的抽象和实现分离开来实现,通过用聚合代替继承来解决子类爆炸性增长的问题;Composite [ 组合模式 ]定义一个接口,使之用于单一对象,也可以应用于多个单一对象组成的对象组;Decorator [ 装饰模式 ]给对象动态添加额外的职责,就好像给一个物体加上装饰物,完善其功能;Fa?ade [ 外观模式 ]外观模式为子系统提供了一个更高层次、更简单的接口,从而降低了子系统的复杂度,使子系统更易于使用和管理。外观承担了子系统中类交互的责任Flyweight [ 享元模式 ]Flyweight是一个共享对象,它可以同时在不同上下文(Context)使用;Proxy [ 代理模式 ]在软件系统中,有些对象有时候由于跨越网络或者其他障碍,而不能够或者不想直接访问另一个对象,直接访问会给系统带来不必要的复杂性,这时候可以在客户程序和目标对象之间增加一层中间层,让代理对象来代替目标对象打点一切,这就是代理(Proxy)模式;Behavioral Patterns着力解决的是类实体之间的通讯关系,希望以面向对象的方式描述一个控制流程。Chain of Responsibility [ 责任链模式 ]很多对象由每一个对象对其下一个对象的引用而连接起来形成一条链。请求在这个链上传递,直到链上的某一个对象决定处理此请求。发出这个请求的客户端并不知道链上的哪一个对象最终处理这个请求,这使系统可以在不影响客户端的情况下动态的重新组织链和分配责任;Command [ 命令模式 ]将请求及其参数封装成一个
您可能关注的文档
最近下载
- CTD格式申报资料(原料药)新.pdf VIP
- 六年级下册数学作业第五单元数学广角第1课时鸽巢问题人教版.pptx VIP
- 华荣科技 最新版本的QJZ6磁力说明书 (1).doc VIP
- 2023年江苏省公考《申论》真题(B类)及参考答案.docx VIP
- 领导干部个人有关事项报告表(2017版).doc VIP
- 六年级 数学 下册 第五单元 数学广角——鸽巢问题《第1课时 鸽巢问题(1)》作业课件.pptx VIP
- 项目集成管理中级笔记.pdf VIP
- 心血管疾病诊断及临床合理用药答案-2024年山西省执业药师继续教育.docx VIP
- EBZ-318综掘机图册说明书.pdf VIP
- 直肠癌教学护理查房张梅.ppt VIP
原创力文档


文档评论(0)