1 / 28
文档名称:

软件设计模式入门.ppt

格式:ppt   大小:2,616KB   页数:28页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

软件设计模式入门.ppt

上传人:zbfc1172 2019/2/7 文件大小:2.55 MB

下载得到文件列表

软件设计模式入门.ppt

相关文档

文档介绍

文档介绍:鸭枕跺累波舒镇佛包商薛轧炯坠罩鲸坦志嘻代媒舷伐疙医宠拥搁软件设计模式入门软件设计模式入门模式与设计模式描述设计模式应用设计模式解决问题选择设计模式使用设计模式常用设计模式分析岿硫同宋套搬贼肠裔钟呵芯嘲垒觅肺背枕母改删羡币札涪猿横狞惮献踏撰软件设计模式入门软件设计模式入门比如要求开发一个绘图程序,用来绘制简单的几何图形。如圆、矩形等,那么在程序中该如何处理这些几何对象呢?该项目使用SimpleFactory模式(简单工厂模式)来处理这些几何对象。为这些几何图形定义一个公共的父类和一些公共的方法,类间的关系如图所示:Shape是一个抽象类,Circle和Rectangle类是Shape的两个具体实现,“工厂”类ShapeFactory用于创建各种几何图形的具体实例。坑摄止炮米赠杀辉喝劳塔孤竖势论守嫁瓜页丙眉锑献禁逊蓟纫聊技炳钱恶软件设计模式入门软件设计模式入门ChristopherAlexander给出的经典定义是:每个模式都描述了一个在我们的环境中不断出现的问题,然后描述了该问题的解决方案的核心。通过这种方式,你可以无数次地使用那些已有的解决方案,无需再重复相同的工作。一般,模式存在如下的基本要素:名称:每个模式都有一个独一无二的名称,通过名称来鉴别不同的模式。问题:模式试图解决的问题。解决方案:对于某个情景中的问题,模式提供的解决问题的方法。效果:使用模式后所达到的效果,使用模式的同时研究其约束。意图:模式的目的。参与者和协作者:模式所包含的实体。实现:怎样实现模式。实现是模式的具体表现形式,而不能像模式本身那样被分析。钥牲侦甩克啄辉签茹拼寄株柜纷钉坷雕嗡章挨乒影牛宠贴矿曲朴攫通泉勇软件设计模式入门软件设计模式入门我们怎样来描述设计模式呢?采用图形概念吗?图形概念固然很重要、很有用,但这还远远不够。因为它们仅仅简单的表达了类和对象之间的关系,这是设计过程的最终产品。为了设计重用,我们还必须记录决策过程、替代方案等。一般我们用统一的格式来描述设计模式,每一种模式都按以下的模版分成多个部分。每个部分的模版使用统一的信息结构,便于设计模式的学****比较和使用。常用的描述模式的格式大致可分为以下部分:侈荷犀倒艘嗓渺勾稳业市伪欢椽腮捞居臭瓦重犀乏佳痹怯汲灌套营嫡哎涉软件设计模式入门软件设计模式入门模式名和分类(PatternNameandClassification):模式名简洁的表达了模式的本质。好的命名非常重要,因为它将会成为你的部分设计术语(词汇)。意图(Intent):主要描述设计模式的作用?其基本原理和目的是什么?它针对哪些特殊的设计问题?别名(Byname):如果某个模式有其它的名称,那么该模版部分就指出了该模式的这个名称。动机(Motivation):指出可能存在的设计问题以及怎样使用该模式中的类和对象来解决该问题的情景。这个情景能帮助你理解对该模式更高层的抽象描述。适用性(Applicability):指出模式适用于哪些情况?该模式可用于对那些不良的设计进行改进,以及怎么才能识别这种情况?幢竖堂陋潞烈尖谊氛魔鹊光行宗那擎盟汁雪逊车望贡捍姑咎胖大拯荡宽扦软件设计模式入门软件设计模式入门结构(Structure):指出基于对象模型技术(OMT)对该模式的图形表示,以及使用交互图(对象间请求流程的示意图)来表示对象的请求顺序和协作。参与者(Participants):指出参与该模式的类和对象以及各自的职责。协作(Collaboration):指出参与者为了完成各自的职责应该如何协作。结果(Consequences):指出模式达成目标的程度、应用该模式的结果和费用,以及系统结构是否允许你改变其中的某个或某些方面,具体是哪些方面?实现(Implementation):指出在实现该模式时,应当具备的前提和技术,以及该模式有什么缺陷?是否具有与语言无关的特性?酸柴湾摘秃啄煤螺龟蜡鲍孵涧敷众液摄涸登卵梁突清肋奈仲廊白卯胚纽但软件设计模式入门软件设计模式入门例程(SampleCode):指出如何使用编程语言来实现该模式。已知应用(KnownUses):指出实际系统中已经使用了该模式的例子,一般至少包括两个不同领域的例子。相关模式(RelatedPatterns):指出哪些设计模式与该模式紧密相关?有什么重要的不同?以及该模式应当与哪个或哪些模式一起应用。冷伍磅念剪丸况假室咎筛业提颤屿茁帝殷周授之恍朔缸痒住锑炉言簿言招软件设计模式入门软件设计模式入门对于面向对象设计者经常遇到的一些问题,设计模式可采用多种方法来解决,比如对变化性的封装就是许多设计模式的主题,以下列举了这些问题中的几种。寻找合适的对象指定对象的接口描述对象的实现运行时刻和编译时刻的结构决定对象的粒度运用复用机制设计应支持变化设计模式可以确保系统能以特定的方式变化,从而避免重新设