版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
设计模式(\o"英语"英语:designpattern)这个术语是在1990年代,由\o"ErichGamma(尚未撰写)"ErichGamma等人,从\o"建筑设计"建筑设计领域引入到\o"计算机科学"计算机科学里去的。是对\o"软件设计(尚未撰写)"软件设计中普遍存在(反复出现)的各种问题,所提出的解决方案。设计模式并不直接用来完成\o"程式码"程式码的编写,而是描述在各种不同情况下,要怎么解决问题的一种方案。\o"面向对象"面向对象设计模式通常以\o"类别"类别或\o"物件(计算机科学)"物件来描述其中的关系和相互作用,但不涉及用来完成应用程式的特定类别或物件。\o"算法"算法不能算是一种设计模式,因为算法主要是用来解决计算上的问题,而非设计上的问题。设计模式主要是使不稳定的依赖于相对稳定、具体依赖于相对抽象,避免会引起麻烦的紧耦合,以增强软件设计面对并适应变化的能力。并非所有的软件模式都是设计模式,设计模式特指软件设计层次上的问题。还有其它非设计模式的模式,如\o"架构模式(尚未撰写)"架构模式。随着软件开发社群对设计模式的兴趣日益增长,已经出版了一些相关的专著,定期召开相应的研讨会,而且\o"WardCunningham(尚未撰写)"WardCunningham为此发明了\o"WikiWiki"WikiWiki用来交流设计模式的经验。发展历史建筑师\o"克里斯托佛·亚历山大"克里斯托佛·亚历山大在1977/79年编制了一本汇集设计模式的书。但是这种设计模式的思想在建筑设计领域里的影响远没有后来在软件开发领域里传播的广泛。\o"肯特·贝克(尚未撰写)"肯特·贝克和\o"沃德·坎宁安"沃德·坎宁安在1987年,利用克里斯托佛·亚历山大在建筑设计领域里的思想开发了设计模式并把此思想应用在Smalltalk中的图形用户接口的生成中。一年后ErichGamma在他的苏黎世大学博士毕业论文中开始尝试把这种思想改写为适用于软件开发。于此同时JamesCoplien在1989年至1991年也在利用相同的思想致力于C++的开发,而后于1991年发表了他的著作AdvancedC++Idioms。就在这一年ErichGamma得到了博士学位,然后去了美国,在那与RichardHelm,RalphJohnson,JohnVlissides合作出版了DesignPatterns-ElementsofReusableObject-OrientedSoftware一书,在此书中共收录了23个设计模式。这四位作者在软件开发领域里也以他们的匿名著称GangofFour(四人帮,简称GoF),并且是他们在此书中的协作导致了软件设计模式的突破。有时这个匿名GoF也会用于指代前面提到的那本书。[表述格式表述一个软件设计模式的格式根据作者的不同,划分和名称等都会有所不同。常用的\o"GoF(尚未撰写)"GoF描述模式的格式大致分为以下这些部分:模式名:每一个模式都有自己的名字,模式的名字使得我们可以讨论我们的设计。问题:在\o"面向对象的系统设计(尚未撰写)"面向对象的系统设计过程中反复出现的特定场合,它导致我们采用某个模式。解决方案:上述问题的解决方案,其内容给出了设计的各个组成部分,它们之间的关系、职责划分和协作方式。别名:一个模式可以有超过一个以上的名称。这些名称应该要在这一节注明。动机:该模式应该利用在哪种情况下是本节提供的方案(包括问题与来龙去脉)的责任。适用性:模式适用于哪些情况、模式的背景等等。结构:这部分常用类图与互动图阐述此模式。参与者:这部分提供一份本模式用到的类与物件清单,与它们在设计下扮演的角色。合作:描述在此模式下,类与物件间的互动。影响:采用该模式对软件系统其他部分的影响,比如对系统的扩充性、可移植性的影响。影响也包括负面的影响。这部分应描述使用本模式后的结果、副作用、与权衡(trade-off)实作:这部分应描述实现该模式、该模式的部分方案、实现该模式的可能技术、或者建议实现模式的方法。示例:简略描绘出如何以编程语言来使用模式。已知应用:业界已知的实作范例。相关模式:这部分包括其他相关模式,以及与其他类似模式的不同。[\o"编辑段落:分类"编辑]分类\o"设计范例"《设计模式》一书原先把设计模式分为创建型模式,结构型模式,行为型模式.把它们通过授权,聚合,诊断的概念来描述.若想更进一步了解关于面向对象设计的背景,参考接口模式,内聚.若想更进一步了解关于面向对象编程的背景,参考\o"继承(计算机科学)"继承,接口,多态.模式名称描述是否在\o"设计范例"《设计模式》是否在\o"代码大全(尚未撰写)"《代码大全》[1]\o"创建型模式(尚未撰写)"创建型模式\o"抽象工厂模式"抽象工厂模式为一个产品族提供了统一的创建接口。当需要这个产品族的某一系列的时候,可以从抽象工厂中选出相应的系列创建一个具体的工厂类。是是\o"工厂方法模式"工厂方法模式定义一个接口用于创建对象,但是让子类决定初始化哪个类。工厂方法把一个类的初始化下放到子类。是是\o"生成器模式"生成器模式将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。是否\o"懒惰初始化模式(尚未撰写)"懒惰初始化模式推迟对象的创建、数据的计算等需要耗费较多资源的操作,只有在第一次访问的时候才执行。否否\o"对象池模式"对象池模式通过回收利用对象避免获取和释放资源所需的昂贵成本。否否\o"原型模式"原型模式用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。是否\o"单例模式"单例模式确保一个类只有一个实例,并提供对该实例的全局访问。是是\o"结构型模式(尚未撰写)"结构型模式\o"适配器模式"适配器模式将某个类的接口转换成客户端期望的另一个接口表示。适配器模式可以消除由于接口不匹配所造成的类兼容性问题。是是\o"桥接模式"桥接模式将一个抽象与实现解耦,以便两者可以独立的变化。是是\o"组合模式(尚未撰写)"组合模式把多个对象组成树状结构来表示局部与整体,这样用户可以一样的对待单个对象和对象的组合。是是\o"修饰模式"修饰模式向某个对象动态地添加更多的功能。修饰模式是除类继承外另一种扩展功能的方法。是是\o"外观模式"外观模式为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。是是\o"享元模式(尚未撰写)"享元模式通过共享以便有效的支持大量小颗粒对象。是否\o"代理模式(尚未撰写)"代理模式为其他对象提供一个代理以控制对这个对象的访问。是否\o"行为模式(尚未撰写)"行为模式\o"责任链模式"责任链模式为解除请求的发送者和接收者之间耦合,而使多个对象都有机会处理这个请求。将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它。是否\o"命令模式"命令模式将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可取消的操作。是否\o"解释器模式(尚未撰写)"解释器模式给定一个语言,定义它的文法的一种表示,并定义一个解释器,该解释器使用该表示来解释语言中的句子。是否\o"迭代器模式(尚未撰写)"迭代器模式提供一种方法顺序访问一个聚合对象中各个元素,而又不需暴露该对象的内部表示。是是\o"Mediatorpattern(尚未撰写)"MediatorDefineanobjectthatencapsulateshowasetofobjectsinteract.Mediatorpromotesloosecouplingbykeepingobjectsfromreferringtoeachotherexplicitly,anditletsyouvarytheirinteracti
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度气象观测站搬迁合同2篇
- 二零二四年度人力资源和社会保障局劳动政策咨询与研究合同3篇
- 弱电安装劳务分包合同2024年度3篇
- 商业综合体2024年度总包建设质量监督合同3篇
- 2024年度二手设备买卖合同模板2篇
- 2024年度沙料购销价格adjustment机制合同2篇
- 龙门架维修合同
- 2024年度艺术品交易委托合同
- 2024年度签证代办服务合同3篇
- 桩基检测合同
- 本科层次职业教育装备制造类专业新形态教材建设研究
- 冬季出行安全主题班会
- 2024年学生公寓住宿协议
- 幼儿园安全守护制度
- 语文-湖南(河南)省湘豫名校联考2024年11月2025届高三上学期一轮复习诊断考试暨期中考试试题和答案
- 大学生劳动教育(2023级)学习通超星期末考试答案章节答案2024年
- 公司员工违纪处罚管理制度
- 期中测试卷(试题)-2024-2025学年一年级上册语文统编版
- 外科手术基本操作考核评分表(切开、止血、缝合、打结与拆线)
- 工法样板展示施工方案
- 盾构施工关键技术知识考试题库及答案
评论
0/150
提交评论