软件设计模式浅析.doc

软件设计模式浅析.doc

ID:57768036

大小:62.50 KB

页数:4页

时间:2020-03-27

软件设计模式浅析.doc_第1页
软件设计模式浅析.doc_第2页
软件设计模式浅析.doc_第3页
软件设计模式浅析.doc_第4页
资源描述:

《软件设计模式浅析.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、200877054410-刘万鹏软件学院《设计模式》论文设计模式》课程名称:课程名称:专班学业:级:号:软件设计模式软件工程软工084200877054410刘万鹏学生姓名:学生姓名:2011年6月15H200877054410…刘万鹏软件设计模式浅析说到软件设计模式,其实上课一直到现在,在头脑屮还没有一•个完整的概念。有的时候晦涩难懂,有的时候也会突发的觉焙,好像懂那么一些的意思。软件设计模式其实是一套被反复使用,多数人知晓的,经过分类编戸的,代码设计经验的总结。使用设计模式是为了可重用代码,让

2、代码更容易被他人理解,保证代码的可靠性。在这里,我只是试图去浅意去解释软件模式,分析各种经典的软件设计模式。设计模^(designpattern)是对而向对彖设计屮反复出现的问题的解决方案。这个术语是在1990年代由ErichGamma等人从建筑设计领域引入到软件行业屮来的。这个术语的含义Fl前还存有争议。算法不是设计模式,因为算法致力于解决问题而非设计问题。设计模式通常描述了一组相互紧密作用的类与对象。设计模式提供一种讨论软件设计的公共语言,使得熟练设计者的设计经验可以被初学者和其他设计者掌握。

3、设计模式还为软件重构提供了H标。建筑师克里斯托佛•亚历山大在1970年代编制了一本汇集设计模式的书。但是这种设计模式的思想在建筑设计领域里的影响远没有后来在软件开发领域里传播的广泛。伴随着软件开发社群对设计模式的兴趣日益增长,已经出版了一些相关的专著,定期召开相应的研讨会。尽管名称和顺序在不同的资料屮各有不同,描述模式的格式大致分为以卜四个主要部分:模式名称(PatternName):每一个模式都有自己的名字,模式的名字使得我们可以讨论我们的设计。问题(Problem):在面向对象的系统设计过程屮

4、反复出现的特定场合,它导致我们采用某个模式。解决方案(Solution):上述问题的解决方案,其内容给出了设计的各个组成部分,它们之间的关系、职责划分和协作方式。效果(Consequence):采用该模式对软件系统其他部分的影响,比如对系统的扩充性、可移植性的影响。影响也包括负而的影响。别名(AlsoKnownAs):一个模式可以有超过一个以上的名称。这些名称应该要在这一节注明。动机(Motivation):该模式应该利用在哪种情况下是本节提供的方案(包括问题与来龙去脉)的责任。应用(Applic

5、ability):实际屮的操作和使用。结构(Structure):这部分常用类图与互动图阐述此模式。参与者(Participants):这部分提供一•份本模式用到的类与物件清单,与它们在设计下扮演的脚色。合作(Collabooition):描述在此模式下,类与物件间的互动。2200877054410…刘万鹏结果(Consequences):这部分应描述使用本模式後的结果、副作用、与交换(trade-off)实现(Implementaion):这部分应描述实现该模式、该模式的部分方案、实现该模式的可

6、能技术、或者建议实现模式的方法。例程(SampleCode):示范程式。已知应用(KnownUses):业界已知的实做范例。相关模式(RelatedPatterns):这部分包括其他相关模式,以及与其他类似模式的不同。写作思路:综述软件设计模式的分类及其小的各种设计模式,描述它们Z间的关系及它们在软件设计过程屮的使用,并对设计模式的进一步发展做岀展望。就H前,软件设计模式一共有23种之多的思路。每一种的设计思路,都是对一种经典的传承。指导着我们设计模式的走向和发展。1、工厂模式:客户类和工厂类分开

7、。消费者任何时候需要某种产品,只需向工厂请求即可。消费者无须修改就可以接纳新产品。缺点是当产品修改时,工厂类也要做相应的修改。如:如何创建及如何向客户端提供。2、建造模式:将产品的内部表象和产品的生成过程分割开来,从而使一个建造过程生成具有不同的内部表象的产品对象。建造模式使得产品内部表象可以独立的变化,客户不必知道产品内部组成的细节。建造模式可以强制实行一种分步骤进行的建造过程。3、工厂方法模式:核心工厂类不再负责所有产詁的创建,而是将具体创建的工作交给子类去做,成为一个抽象工厂角色,仅负责给出

8、具体工厂类必须实现的接口,而不接触哪一个产晶类应当被实例化这种细节。4、原始模型模式:通过给出一个原型对象来指明所要创建的对象的类型,然后用复制这个原型对象的方法创建出更多同类型的对象。原始模型模式允许动态的增加或减少产詁类,产詁类不需要非得有任何事先确定的等级结构,旋台模型模式适用于任何的等级结构。缺点是每一个类都必须配备一个克隆方法。5、单例模式:单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例单例模式。单例模式只应在有真正的“单一实例"的需求吋才可使用

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。